新手常遇到的问题: 递增运算符: 比如: i = 1 ; j = ++ i ; // 前递增运算,即先对运算数进行递增,然后再去计算。 //输出 i =2; j=2 ;
i = 1 ; j = i ++; // 后递增运算,即先去计算,然后再对运算数进行递增。 //输出 i =2; j=1 ;
3, 相等运算符: = : 赋值运算符; == : 相等运算符; === : 等同运算符; 值NaN永远不会与任何值相等,包括自己。 alert(NaN == NaN); //false NaN 意思为 Not a Number 要检测一个值是否是NaN,可以使用全局函数isNaN();
另外新手要注意: var a =[1,2,3]; var b =[1,2,3]; document.write(a==b); // 输出false .(这个其实是 第一章讲的内容。) // 虽然值相同,类型相同,但址不同。 -------------------------------------------------------- var a =[1,2,3]; var b = a ; var c = a ; document.write(b===c);//输出true; -------------------------------------------------------- var a = "1"; var b = true ; document.write(a==b); //输出 true document.write(a===b); //输出 false ; 值相同, 类型不同
5, in 运算符: 要注意的是:左边的值是其右边对象的属性。 比如: var a = { x : 1 , y : 2 }; var b = “x” in a ; // true var c = “toString” in a ; // true . 左边的值是其右边对象的属性。
6 instanceof 运算符: 要注意的是:左边的运算数是一个对象,右边的运算数是对象类的名字。 比如: var a = new Date() a instanceof Date; // true a instanceof Object ; // true a instanceof Number ; // false