JavaScript学习笔记-第四章

来源:互联网 发布:it行者 唐吉 编辑:程序博客网 时间:2024/06/15 02:24

复杂数据类型

Object类型

Object类型是所有对象的基础,每一个对象都继承自object,都拥有object类型中的属性和方法,BOM和DOM都属于宿主对象,是由宿主定义的,所以宿主对象可能不继承Object

操作符

凡是涉及到Infinity的加减操作,结果只可能是Infinity、-Infinity和NaN不可能得到0.

加性操作符

如果两个操作数都是字符串,那么进行字符串拼接;如果只有一个操作数是字符串,则将另一个操作数转换为字符串,然后将两个字符串拼接;如果有一个操作数是对象、数值、布尔值则调用他们的toString()方法取得字符串值然后进行拼接。

减法操作符

如果操作数是字符串、布尔值或者null和undefined则先调用他们的Number()转换为数值,涉及到NaN的计算,结果都为NaN。

关系操作符

只提一点:

var rel = "23" < "3" ; //true

当两个对比的值都为字符串的时候则对比字符串对应的字符编码,此处2的字符编码为50而3的编码为51,而当其中有一个值为数值的时候,则将另一个值转换为数值然后对比,例如:

var rel = "23" < 3 ; //false

相等操作符

相等(==)和不相等(!=)两个操作符,在数值对比的时候会先进行强制类型转换,然后再进行对比;而全等(===)和不全等(!==)在对比的时候不会转换类型,直接比较值,比如switch语句中就是全等语句,为了保证代码中数据类型的完整性,推荐使用全等和不全等;

参数

在ECMAScript中参数在内部用数组来表示,函数体内可以通过arguments对象来访问这个参数数组,argument对象其实不是Array对象的实例,而是类数组,也可以通过length属性来确定传递的参数的个数。

0 0
原创粉丝点击