菜鸟学《Javascript高级程序设计》之学习总结( 一)---基本语法

1.javascript有5种简单数据类型(Undefined,Null,Boolean,Number,String)和1种复杂数据类型(Object)。

1.1 Undefined

在用Var定义变量时,未为变量加以初始化,该变量的值就将会是Undefined。

注意点:对声明未初始化的变量使用typeof操作符会返回Undefined,但是对未声明的变量使用typeof操作符也会返回Undefined。虽然可以对未声明的变量使用typeof操作符,但是使用未声明的变量会产生错误。

1.2 Null

从逻辑上看,Null表示一个空对象指针,这也是为什么对Null使用typeof操作符会返回“Object”的原因。

注意点:ECMA-262规定对Null和undefined进行相等测试永远返回true,即:null==undeinfed返回true。

1.3 Boolean

注意点:Boolean的字面值true和false是区分大小写的。

1.4 Number

(一)ECMAScript能够表示的最小数值保存在Number.MIN_VALUE中,能够表示的最大值保存在Number.Max_VALUE中。小于最小值则转化成-Infinity(负无穷),大于最大值则转行成Infinity(正无穷)。使用isFinite()函数可以判断一个数值是否有穷。

(二)NaN(非数值)

NaN的两大特点:

(1)任何涉及NaN的操作,都会返回NaN。

(2)NaN与任何值都不等,包括NaN本身。

可以使用isNaN()函数来判断一个参数是否“非数值”。

(三)数值转换

可以使用Number(),parseInt(),parseFloat()三个方法来进行数据转换。Number()可以转换所以类型,而parseInt()和parseFloat()则只能转换字符串类型。

parseInt()可以接受两个参数,第一个参数为要转换的字符串,第二个参数为要转换成的进制数。parsetFloat()则只能转换成十进制。

1.5 String

对于数值,布尔值,对象和字符串可以使用toString()方法来转换成字符串,而对于Undefined和Null则可以使用String()方法来进行转换。

1.6 Object

Object的属性和方法:

(1)constructor---用于保存创建当前对象的函数。

(2)hasOwnProperty(propertyName)---用于检查给定的属性在当前对象中是否存在。

(3)isPropertyOf(object)---用于检查传入的对象是否是另一个对象的原型。

(4)propertyIsEnumberable(propertyName)---用于检查给定的属性是否能够使用for-in语法来枚举。

(5)toString()---返回对象的字符串表示。

(6)valueOf()---返回对象的字符串,数值或布尔值表示。

2.操作符

2.1 布尔操作符

(一)逻辑与

逻辑与操作符可以为任何类型的操作符,不仅仅是布尔值。规则:

(1)如果第一个操作数为对象,则返回第二个操作数。

(2)如果第二个操作数为对象,则只有当第一个操作数的求值结果为true的情况下,才会返回第二个操作数。

(3)如果两个操作数都为对象,则返回第二个操作数。

(4)如果有一个操作数为null,则返回null。

(5)如果有一个操作数为NaN,则返回NaN。

(6)如果有一个操作数为Undefined,则返回Undefinied。

(二)逻辑或

与逻辑与操作符相似,操作数也可以不是布尔值。规则:

(1)如果第一个操作数位对象,则返回第一个操作数。

(2)如果第一个操作数的求值结果为false,则返回第二个操作数。

(3)如果两个操作数都是对象,则返回第一个操作数。

(4)如果两个操作数都是null,则返回null。

(5)如果两个操作数都是NaN,则返回NaN。

(6)如果两个操作数都是Undifined,则返回Undifined。

2.2 相等操作符

全等,不全等,在不转换操作数的情况下相等。

3.语句

with语句:将代码的作用于设置到一个特定的对象中。

4.函数

函数的参数可以通过argument对象访问到。

注意点:没有传递值的命名参数将自动被赋予Undefined值。

posted @ 2013-02-24 21:11  Johnny Ding  阅读(288)  评论(0编辑  收藏  举报