澄清JS

时间:2016-01-03 01:59:47

标签: javascript null undefined

我一直试图破解JS中关于 null undefined 的解释,这里有关于stackoverflow和其他地方的解释。我想我看到会出现一定程度的误传。

对于没有经验的开发人员,当控制台告诉我们变量或属性是 undefined 时,它是编码错误的结果(例如:我忘了给变量赋值或返回一个来自函数的价值)。这意味着Javascript已将 undefined 分配给变量或属性。

作为noobies做教程,我们从未被要求明确地将 undefined 分配给变量。

现在在一些示例代码中我们看到if语句 if(x === null ){some code} 我们不知道为什么x等于 null ,或者 null 如何分配给x

大多数解释,在堆栈溢出和其他地方,显示了显式指定null的示例(例如:var y = null )。也就是说, null 是编码错误的结果,而Javascript 指定 null Null 必须由程序员分配(为什么他们这样做也是一个谜)。

现在我尝试通过创建对象,设置其属性以及使用delete删除这些属性的值来强制脚本返回 null ,这样可以解决这个问题: obj === null // true 但我得到假(因为obj === undefined // true)

还试过这个:

var A = function(name) {
this.name = name;
}

var a = new A('alpha');
a.name; //'alpha'

A.prototype = {x:23};

a.x; //according to tutorial, this was supposed to have returned *null*, but instead returned *undefined*

所以问题是,如何“强制脚本返回 null ”?。

0 个答案:

没有答案