哪种方法代表了JavaScript中空对象引用的最佳实践(null还是未定义)?
一些工作已经完成与p。现在p不应该指向任何东西哪种方法代表了JavaScript中空对象引用的最佳实践(null还是未定义)?,javascript,Javascript,一些工作已经完成与p。现在p不应该指向任何东西 var p = new Person("xyz"); 或 哪种方法代表空对象引用的最佳实践?正确的方法是: p = null; 未定义保留用于未初始化变量或空承诺的情况。您可以根据需要使用这两个选项。看看这篇文章,看看两者到底有什么不同 未定义表示变量已声明但没有值: p = null; Null是一个赋值: var item; alert(item); //undefined alert(typeof item); //undefined
var p = new Person("xyz");
或
哪种方法代表空对象引用的最佳实践?正确的方法是:
p = null;
未定义
保留用于未初始化变量或空承诺的情况。您可以根据需要使用这两个选项。看看这篇文章,看看两者到底有什么不同
未定义表示变量已声明但没有值:
p = null;
Null是一个赋值:
var item;
alert(item); //undefined
alert(typeof item); //undefined
这是一个解释的问题,但从理性上讲,空是一个更好的选择
您实际上是在问变量是否应定义为:
- 已声明但尚未赋值的变量,即
未定义
- 表示无值的赋值,即
null
使用
null
是合理的,因为它被认为是对象的占位符,但只要系统与之一致,使用undefined
也没有错。恐怕没有明确的答案。我个人认为使用null
更干净,但这主要是因为两者都有味道行为基本相同。样式应该无关紧要,垃圾收集器会为您处理这些问题,但您必须注意的不是定义全局变量。垃圾收集器不会拾取全局变量。除非您的代码使用与null
或undefined
进行严格比较,否则它不会重要的是,null
与未定义的
在语义上有什么不同?未定义的var不存在,null存在,但值为null。回答基本上是“照你想的做,我更喜欢这种方式”的人,应该以“主要基于意见”的方式结束“相反,你是对的,但我相信我经过编辑的答案与简单的观点相去甚远。
var item;
alert(item); //undefined
alert(typeof item); //undefined
var item= null;
alert(item); //null
alert(typeof item); //object