1. === null 和 “” 空字符串的区别
null与空字符串主要区别如下:
1,null不指向任何对象,相当于没有任何值;而"“代表一个长度为0的字符串
2,null不分配内存空间;而”"会分配内存空间
2. null === null, undefind === undefind, NaN === NaN 是什么结果
除了NaN是false,其他的都是true(只有NaN不认可自己)
注意:NaN是个number类型
如果typeof NaN === ‘number’ 是等于true的
3. 如何正确判断null和undefind?
以下是不正确的判断方法
var exp = undefined;
if (exp == undefined) // 此处null == undefind 也是成立的
{
console.log("undefined");
}
注意:null == undefind 也是成立的
正确的判断方法
var exp = undefined;
if (exp === undefined) //或者typeof(exp) == 'undefined'
{
console.log("undefined");
}
所有判断类型最稳妥的方法是:
Object.prototype.toString.call(xx)
会返回一串的字符串 ‘[object Undefined]’ ,然后再稍加判断就行。