第一章——第三章
1:文档对象模型DOM可扩展用于html的应用程序编程接口。开发人员借此控制页面的内容和结构。可轻松地删除、添加、替换或者修改任何节点。DOM提供访问和操作网页内容的方法和接口。
2:支持可以访问和操作浏览器窗口的浏览器对象模型BOM,提供与浏览器交互的方法和接口。
3:解析嵌入式js代码或者解析外部js文件时,页面的处理也会暂时停止。
4:函数也是对象,不是一种数据类型。但是用typeof检测会得到"function"。
5:已经使用var声明,但未初始化的变量,被赋予undefined。使用typeof操作符,检测已经声明但未初始化的变量,或者未声明过的变量,都会返回undefined。直接使用未声明的变量,会报错(使用typeof检测除外)。
6:null是空对象指针。定义的变量如果将来打算用来保存对象,可以先初始化为null。
7:boolean类型有两个字面值,true和false。所有类型的值都可以使用Bollean()方法来转换。
数据类型 | 转换为true的值 | 转换为false的值 |
Boolean | true | false |
String | 任何非空字符串 | ""(空字符串) |
Number | 任何非0数字值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
Undefined | 不适用 | undefined |
控制流语句如if,会自动执行Boolean转换。
8:NaN是一个特殊的数值,用于表示一个本应该返回数值的操作数未返回数值,例如数值除以0.任何涉及NaN的操作都会返回NaN。NaN与任何值都不想等,包括NaN本身。
9:isNaN()可确定传入的参数是否“不是数值”。首先尝试将参数转换为数值,能转换则返回false,不能转换返回true。
alert( isNaN(NaN) ); //truealert( isNaN(10) ); //false,这是一个数值 alert( isNaN("10") ); //false,可转换成数值alert( isNaN("blue") ); //true,没法转换成数值alert( isNaN(true) ); //false,可转换成数值1
10:数值转换有3种办法,Number(),parseInt(),parseFloat()。Number()可用于任何数据类型,后两者专门用于把字符串转换成数值。
11:String类型有两种转换方法。toString(),可用于把Number、String、Boolean、Object转换成字符串。String()可转换所有数据类型,对于null返回"null",对于undefined返回"undefined"。
12:Object类型所具有的任何属性和方法也同样存在与更具体的对象中。Object类型是所有他的实例的基础。Object有下列属性和方法。
(1)constructor 用于保存创建当前对象的函数,如构造函数。
(2)hasOwnProperty() 检查给定属性在对象实例中(不是原型中)是否存在。
(3)isPropertyOf() 检查传入对象是否是另一个对象的原型。
(4)propertyIsEnumberable() 检查给定属性能否用for-in枚举。
(5)toString() 返回对象的字符串表示
(6)valueOf() 通常与toString()返回的相同
13:执行前置递增操作符 ++a ,变量的值是在语句被求值前改变的。后置递增操作符是在包含他们的语句被求值后改变的。
var num1 = 2;var num2 = 10;var num3 = --num1 + num2; //11 var num4 = num1 + num2; //11var num1 = 2;var num2 = 10;var num3 = num1-- + num2; //12var num4 = num1 + num2; //11
14:加性操作符要注意转换。
var num1 = 5;var num2 = 10;var message = "num1 plus num2 is " + num1 + num2;//num1 plus num2 is 510/////var num1 = 5;var num2 = 10;var message = "num1 plus num2 is " + (num1 + num2);//num1 plus num2 is 15
15:相等和不相等("=="和"!="),会先转换操作数,即强制转换。然后判断性等行。全等和不全等("==="和"!==")不转换操作数。
16:函数中的return语句可以返回值。return也可以不带有任何返回值,直接return;此时会返回undefined,这种情况一般用于需要提前停止函数但却不需要返回值的情况。return后面的语句不会执行。
17:函数内的arguments对象与数组类似,但却不是Array的实例。
18:没有传递值得明明参数,将被赋予undefined值。所有参数传递的都是值,不可能通过引用传递参数。