js没有块级作用域的概念,在for和while循环里声明的对象相当于全局变量
!function(){
var a,v;
}();
用来把函数声明变成函数表达式
NAN和任何都不等,包括自身
js里的对象的比较是用引用比较而不是用值比较
空对象不相等
js里有六大数据类型:object,number,string,boolean,null,undefined
object是对象类型,其他都是原始类型
数组也是对象
var a="str";
a.length; //自动转换成包装类型对象,调用完就销毁
判断数据类型的方法:
1.typeof
typeof null //返回object
2.instanceof
判断对象类型
[1,2] instanceof Array===true;
new Object() instanceof Array===false;
注意:不同window或者iframe间的对象类型检测不能使用instanceof
3.Object.prototype.toString.apply(null); ==="[object Null]"
解决跨框架问题