哪一个更有意义
var myVar = null;
myVar = someLogic(); //someLogic() might return a primitive or an object
if(myVar){
//other logic
}
OR
var myVar;
myVar = someLogic(); //someLogic() might return a primitive or an object
if(myVar){
//other logic
}
答案 0 :(得分:7)
在JavaScript中,通常没有充分的理由将变量初始化为null
。
在像C这样的语言中,变量应该在使用前始终初始化,因为无法保证未初始化变量的值 - 它可以是0,1,2或283942,或任何东西。但是,JavaScript没有这样的问题。在JavaScript中,已声明但未初始化的变量将始终具有值undefined
。
undefined
是JavaScript中自己的类型。当转换为布尔值时,它变为false
。
undefined == null
会返回true
,但undefined === null
会返回false
。
从语义上讲,undefined
表示尚未设置值,而null
表示没有值,但我们可能会期望值。但是,对此没有硬性规则,因为您始终可以手动将值undefined
分配给变量 - 我不建议这样做。
通常,将未初始化的变量设置为null
会浪费时间。