第一章 jQuery入门
1.用$()函数其实是一个事件,使用这个函数调用的方法,会在DOM加载完毕、资源文件加载完之前触发。
第二章 必须知道的JavaScript知识
1.JavaScript实际上包括三部分:
(1)ECMAScript 描述了该语言的语法和基本对象。
(2) DOM 描述了处理网页内容的方法和接口。
(3)BOM 描述了与浏览器进行交互的方法和接口。
2.ECMAScript是一种由ECMA国际(前身为欧洲计算机制造商协会)通过ECMA-262标准化的脚本程序设计语言。
3.JavaScript中的原始类型
时刻记着“值类型”和“引用类型”的区别有助于更好的理解语言的精髓。为了化繁为简, 虽然从理论上应该分为“值类型”和“引用类型”,又可以将JavaScript中对象分为“本地对象”,“内置对象”和“宿主对象”,但是在实际应用中为了让JavaScript变得真正单纯,可以将JavaScript中的类型分为: undefined,null,number,string,boolean,function, 其他object引用类型。 即使一个JavaScript初学者对这些类型也不会陌生。这种分类方法前6种都是最常使用的JavaScript类型,第7种object引用类型其实并不是独立的类型,因为function就是一种引用类型,另外JavaScript中的值类型背后其实也是一个“引用类型”,这一点和C#极其相似,就是所有的类型都是从Object中派生而来。比如number是一个“值类型”, 但是其实存在一个引用类型“Number”,我们可以使用如下的方式声明一个变量: var oNumberObject = new Number(55); Number对象是ECMAScript标准中定义的。但是本文不准备深入的讲解它们,因为最常用的还是使用下面的方式创建一个“值类型”的数值为55的变量: var iNumberObject = 55; 这就够了不是吗?但是要记住藏在背后的Number对象是一个引用类型!
4.undefined,null和typeof运算符
(1)undefined:表示一个对象没有被定义或者没有被初始化。 null:表示一个尚未存在的对象的占位符。 有意思的是undefined类型是从null派生来的。所以它们是相等的: alert(null == undefined); //输出 “true”
(2)如果在程序中使用一个可能没有定义过的变量,并且没有使用typeof做判断,那么就会出现脚本错误。而如果是此变量是null或者没有初始化的undefined对象,可以通过if或者“==”来判断。切记,未声明的对象只能使用typeof运算符来判断! 正因为如此,typeof经常和undefined变量一起使用。typeof运算符返回的都是一个字符串,而时常程序员会当作类型来使用。是否你也犯过如下的错误呢? //var oTemp; 注释掉变量声明语句 if(typeof oTemp == undefined ){…}; //false 这里if将永远是false。要时刻铭记typeof返回的是字符串,应该使用字符串比较: //var oTemp; 注释掉变量声明语句 if(typeof oTemp ==”undefined”){…};//true
(3)alert(typeof null == “null”);//输出 false,因为typeof nul返回“object”,这其实是JavaScript最初实现的一个错误,然后被ECMAScript沿用了,也就成为了现在的标准。所以需要将null类型理解为“对象的占位符”
(4)还要提醒,一个没有返回值的function(或者直接return返回)实际上返回的是undefined。 function voidMethod() { return; } alert(voidMethod()); //输出 "undefined"
5.命名规范
(1)在JavaScript中应该使用匈牙利命名法命名变量,使用Camel命名法命名函数。
(2)? 匈牙利类型命名法:在以Pascal命名法的变量前附加一个小写字母来说明该变量的类型。例如s表示字符串,则声明一个字符串类型的变量为: var sFirstName;
6.闭包
(1)闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。