什么var myvar有什么区别;和var myvar = null;?
var myvar;
和
var myvar = null;
之间的区别?
我刚看到这两个毗邻未来专业代码,不知道这是怎么一回事......
什么var myvar有什么区别;和var myvar = null;?
var myvar;
和
var myvar = null;
之间的区别?
我刚看到这两个毗邻未来专业代码,不知道这是怎么一回事......
一个创建myvar
(在当前范围内),并分配没有价值给它(离开它=== undefined
) 。
另一个也给它分配null
。
null
的赋值可能很重要,这取决于其他代码如何与变量交互。 OTOH,可能是因为缺乏对它意味着什么的理解。
跟进:你可以设置一个变量为未定义? – 2013-02-14 17:18:14
是的,你可以。 'undefined'是全局作用域的属性,默认保持'undefined'原语。 – Quentin 2013-02-14 17:19:23
甜 - TYVM!我一直在暗示坚持! – 2013-02-14 17:20:41
我更喜欢使用var myvar = null;
为什么?
如果我正在检查将来是否设置了该值,则表示它尚未设置,其中undefined表示在尝试在代码中的某处设置myvar
时可能存在错误。
下面有一些其他的意见,以及 - What reason is there to use null instead of undefined in JavaScript?
'undefined'表示尚未设置值;它基本上意味着“我不知道”,如果你没有指定一个值,那就是你所得到的。 'null'表示值已设置,但明确设置为空。至于不知道你的值是否被赋值......如果你知道某个错误是否阻止了设置值,那么你可能会遇到太多的异常。 :P我从来没有遇到过这样的问题。 – cHao 2013-02-14 19:04:51
简单地说:'VAR MYVAR;'只是声明的变量,但变量仍是'undefined'。另一方面,'var myvar = null;'将'myvar'设置为'null'。 – voithos 2013-02-14 17:15:50
['undefined'](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/undefined)和['null'](https://developer.mozilla.org/en- US/docs/JavaScript/Reference/Global_Objects/null)是不同的东西。 – VisioN 2013-02-14 17:18:14