検索
ホームページウェブフロントエンドjsチュートリアルJavaScriptの学習過程と経験の共有_基礎知識

一、前言

在过去,JavaScript只是被用来做一些简单的网页效果,比如表单验证、浮动广告等,所以那时候JavaScript并没有受到重视。自从 AJAX开始流行后,人们发现利用JavaScript可以给用户带来更好的体验,甚至利用这一优点开发了大型网页游戏,于是这门小语言被重视了起来。现在,很多公司会招专门的JavaScript工程师,通常JavaScript是WEB前端开发的必备技能。简单介绍了JavaScriptr的好处,并不代表大家就会去学习甚至把它学好,兴趣是很关键的,我认为兴趣是最好的老师,它是你专心做一件事并把它做好的动力。另外,大家要相信小语言有大作为,我就曾用Greasemonkey 写过一些非常实用的工具,比如你可以用JavaScript+Greasemonkey写在线网页游戏的外挂程序。下面说说本人学习JavaScript的历程和心得吧。

二、入门

1、学会DIV+CSS布局

使用DIV+CSS布局标准网页,可以使前端XHTML代码更少、结构更清晰,这有利于轻松用JavaScript操作DOM,比如,要展示一个3 行3列的列表,如果用传统的表格布局,现在要你用JavaScript动态生成这个列表,那么就需要一个循环嵌套,如果采用li结构加CSS浮动布局,一次循环就好了。当然,WEB标准化不是一定不能使用表格,我的意思是结构清晰的XHTML更易于把JavaScript效果或功能整合到项目中。

2、掌握几种开发测试工具

做为一个开发人员,熟悉测试工具是必须的,这有助于提高你发现问题和解决问题的效率,对于特别大的项目更是如此。JavaScript和XHTML开发测试利器我就先推荐两个最常用的,它们是:Web DeveloperFirebug

3、熟悉JavaScript每一个方法的作用

这一要求听起来似乎有点不太实际,我想这个要求对于像C#、JAVA这些大型语言来说确实是,因为这些语言类库实在太庞大了,相信没有人可以全面记住它,而且也是没有必要全部记住,比如用JAVA做网页与手机开发所关注的类库是不一样的。而JavaScript则不是,它的内置方法函数真的不多,先全面熟悉一下,开发起来也将得心应手,比如,你一开始可能认为JavaScript有trim()这个很多语言都有的去行头行尾空格的方法,当你了解 JavaScript内置函数库后你会发现原来在JavaScript中这些方法是要自己去实现。再比如,如果你是从其它比较强大的语言转过来玩 JavaScript,你又可能认为JavaScript应该有MD5加密的方法,当然这也是没有的,但有人用JavaScript实现了这样的方法,即JavaScript MD5 。说到底JavaScript内置方法少的可怜,但很多牛人写了一些新方法增加JavaScript功能,比如prototype 框架主要是对JavaScript基础函数进行原型扩展的。

4、了解DOM编程

了解DOM编程算是学习JavaScript过程比较重要的课程,因为JavaScript除了编写一些纯数据处理的逻辑外,更多的是在动态更改XHTML的结构和内容,以达到界面动态更新的目的,而这些工作都要依赖DOM编程。jQuery 框架在这方面封装的相当好,提供了丰富的DOM操作方法,可以让你轻松找到页面任何地方的一个DOM节点(XHTML标签),然后进行相关操作(增、删、改、查)。对于有过用其它语言操作XML文档经验的朋友,相信这一块很快上手。

5、接触并使用AJAX

在今天,学习了JavaScript而不使用AJAX,那是埋没JavaScript优势了(AJAX本身并不能算是JavaScript内容)。 AJAX对于用户以及服务器来说都是有好处的,对于用户,提供更好的用户体验,最典型的一个应用场景:注册页面的用户名可用性预检测,传统的可能会遇到这样的问题:用户填写了一堆资料后提交表单,结果被服务器告知这个用户被注册了,要用户重新填写资料注册,这对于大型多用户网站那是很致命的,因为用户输 10个用户名可能有一半已被使用了。对于服务器来说,减少网页流量,因为AJAX后,一般是按需加载数据的,不会因为局部更新而重新加载整个页面。比如一个网页占三屏高,我们可以默认只加载第一屏的内容,当用户拉动滚动条往下的时候,再加载二三屏的内容。另外像WEB在线地图应用也是AJAX使用的典范。

三、提高

1、深入理解JavaScript this关键字

JavaScript this的作用与指向跟很多真正面向对象的开发语言是有很大差别的,它不始终指向当前对象,是会变化的。如果不注意这个问题,就有可能遇到看似没错的代码报错或不执行等问题。

2、学习JavaScript OOP编程

OOP是个好东西,它使程序员思考问题更有组织性,代码的组织也更清晰。JavaScript 也可以OOP,但与一些传统的OOP语言同样存在较大差别,所以要真正用熟JavaScript OOP也是需要下点功夫的。

3、了解闭包

JavaScript闭包也是被谈得比较多的一个话题,闭包使JavaScript变量作用域变得复杂起来,但这一特性又使这门语言变的更灵活了。

4、学习规范开发

团队精神相信大家是听过不少了,就职一个公司做开发,当然离不开团队,团队要想合作愉快,每个成员的编码必需符合一定规范,这也是每个公司对程序员的基本要求。关于规范通常指变量命名、文件组织、注释规范等,这方面知识与其它语言的规范是有相通性的。

5、找本算法的书读一读

我认为学会并使用一门语言并不是什么难事,难的应该是用语言这基本的语法与语句去解决一些复杂的问题。要解决一些复杂的问题,可能会用上一些算法,有些算法实现可能是一个团队在做的,比如中科院中文分词 的具体实现,另外像游戏常用自动寻径A*算法 等。也许你认为你不可能在JavaScript开发上遇到这么复杂的问题,其实这还要看你在做什么项目,如果你是在开发大型网页游戏,通常面临更多具有挑战性的难题,如果你有读过一些算法书籍,了解一些常见问题的解决方法,在开发过程中自然会如虎添翼。另外,熟悉算法显然对于你日后接触其它开发语言也是有帮助的。

四、习惯

1、兼容、BUG问题做好笔记

CSS与JavaScript浏览器兼容问题最好做好笔记,因为这些问题,或者说BUG是比较诡异的,这些问题浏览器不会提示你错在哪里,IDE也不会提示你,特别是CSS兼容问题,这就会导致你在开发过程碰到这样的问题会卡老半天得不到解决。即使之前解决过同类问题,以后可能又会碰上,结果之前没有做好笔记加强记忆,注定你要再受罪一次,因为这些兼容问题不是一两个,临时记忆效果是不明显的。以我经验,很多问题是在IE6下发生的,现在IE6连微软自己都希望加速它灭亡,这对于前端开发的我们来说当然是一个好消息。

2、阅读优秀的代码,比如jQuery

阅读优秀代码绝对也是自我提高的好方法,这不仅可以了解优秀代码的组织规范,更可以了解一些功能的实现思路。比如jQuery 就是一个非常值的学习的JavaScript框架。当然了,要阅读这样专业的JavaScript框架,JavaScript基础要扎实,不然看的过程中会遇到太多疑问,甚至对自己的信心也是一种打击。

四、注意

1、在JavaScript入门之前避免直接使用JavaScript框架做开发

JavaScript の基盤がない場合は、開発に JavaScript フレームワークを直接使用しないでください。たとえば、jQuery を直接使用して点がつながった文章を書く場合などは、誤解を招く可能性があります。これは JavaScript 構文の一種だと思いますか?別の例として、プロトタイプを使用する場合、フレームワーク拡張後の基本クラスのメソッドが JavaScript に組み込まれているとは考えないでください。 JavaScript フレームワークは効率を向上させるために使用されるものであり、JavaScript を始めるときに学ぶべきものでは決してないと思います。

2. オンラインで見つかる例の多くはブラウザ間互換性がない可能性があります

N 年前にネットユーザーによって書かれた JavaScript エフェクトのソース コードが多数あります。N 年前は IE が世界だったので、一部のフロントエンドはスクリプトのブラウザー間の互換性の問題を解決するのが面倒で、スクリプトを作成していました。 IEのみに適しています。このようなコードを入手した場合は、無駄なことを言ったり、文句を言ったりしないでください。JavaScript のブラウザ間の互換性の問題を理解していれば、コードを少し変更するだけで簡単に使用できると思います。より互換性が高くなります。

5. 関連書籍

JavaScript 開発仕様要件

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptの文字列文字を交換しますJavaScriptの文字列文字を交換しますMar 11, 2025 am 12:07 AM

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

カスタムGoogle検索APIセットアップチュートリアルカスタムGoogle検索APIセットアップチュートリアルMar 04, 2025 am 01:06 AM

このチュートリアルでは、カスタムGoogle検索APIをブログまたはWebサイトに統合する方法を示し、標準のWordPressテーマ検索関数よりも洗練された検索エクスペリエンスを提供します。 驚くほど簡単です!検索をyに制限することができます

例JSONファイルの例例JSONファイルの例Mar 03, 2025 am 12:35 AM

この記事シリーズは、2017年半ばに最新の情報と新鮮な例で書き直されました。 このJSONの例では、JSON形式を使用してファイルに単純な値を保存する方法について説明します。 キー価値ペア表記を使用して、あらゆる種類を保存できます

独自のAjax Webアプリケーションを構築します独自のAjax Webアプリケーションを構築しますMar 09, 2025 am 12:11 AM

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

8見事なjQueryページレイアウトプラグイン8見事なjQueryページレイアウトプラグインMar 06, 2025 am 12:48 AM

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

' this' JavaScriptで?' this' JavaScriptで?Mar 04, 2025 am 01:15 AM

コアポイント これは通常、メソッドを「所有」するオブジェクトを指しますが、関数がどのように呼び出されるかに依存します。 現在のオブジェクトがない場合、これはグローバルオブジェクトを指します。 Webブラウザでは、ウィンドウで表されます。 関数を呼び出すと、これはグローバルオブジェクトを維持しますが、オブジェクトコンストラクターまたはそのメソッドを呼び出すとき、これはオブジェクトのインスタンスを指します。 call()、apply()、bind()などのメソッドを使用して、このコンテキストを変更できます。これらのメソッドは、与えられたこの値とパラメーターを使用して関数を呼び出します。 JavaScriptは優れたプログラミング言語です。数年前、この文はそうでした

ソースビューアーでjQueryの知識を向上させますソースビューアーでjQueryの知識を向上させますMar 05, 2025 am 12:54 AM

jQueryは素晴らしいJavaScriptフレームワークです。ただし、他のライブラリと同様に、何が起こっているのかを発見するためにフードの下に入る必要がある場合があります。おそらく、バグをトレースしているか、jQueryが特定のUIをどのように達成するかに興味があるからです

モバイル開発用のモバイルチートシート10個モバイル開発用のモバイルチートシート10個Mar 05, 2025 am 12:43 AM

この投稿は、Android、BlackBerry、およびiPhoneアプリ開発用の有用なチートシート、リファレンスガイド、クイックレシピ、コードスニペットをコンパイルします。 開発者がいないべきではありません! タッチジェスチャーリファレンスガイド(PDF) Desigの貴重なリソース

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター