如果定义的变量准备在将来用户保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用,如下面的例子:
实际上,undefined值是派生自null值的,因此ECMA-262规定对他们的相等测试要返回true:
区别非常大:null是对象类型,表示空对象,alert(typeof(null))会输出object
" "是一个空格的字符串,alert(typeof(" "))会输出string。
如果定义的变量准备在将来用户保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用,如下面的例子:
实际上,undefined值是派生自null值的,因此ECMA-262规定对他们的相等测试要返回true:
区别非常大:null是对象类型,表示空对象,alert(typeof(null))会输出object
" "是一个空格的字符串,alert(typeof(" "))会输出string。