var p = new Person("xyz");
已经完成了一些工作。现在p应该指向什么。
p = undefined;
或
p = null;
哪种方法代表空对象引用的最佳实践?
答案 0 :(得分:2)
你真的在问这个变量是否应该定义为:
undefined
。或
null
。专业JS For Web Developers(Wrox)一书中的引用适用于此:
您可能想知道为什么typeof运算符为null值返回'object'。这实际上是原始JavaScript实现中的错误,然后在ECMAScript中复制。今天,合理化将null视为对象的占位符,即使从技术上讲,它也是一个原始值。“
使用null
是合理的,因为它被视为对象的占位符,但只要您的系统与它一致,使用undefined
就没有错。 / p>
答案 1 :(得分:0)
您可以根据您的要求使用两者。查看这篇文章,了解两个What is the difference between null and undefined in JavaScript?之间究竟有什么区别。
未定义表示已声明变量但没有值:
var item;
alert(item); //undefined
alert(typeof item); //undefined
Null是一项任务:
var item= null;
alert(item); //null
alert(typeof item); //object
答案 2 :(得分:-2)
正确的是:
p = null;
undefined
保留用于未初始化变量或空承诺时。