为变量“本地或全局”javascript提供初始值的重要性

时间:2013-08-20 17:31:09

标签: javascript

我想知道在JavaScript中为变量设置初始值的重要性。

function data() {
    var self = this;
    self.formatLength;
}

function data() {
    var self = this;
    self.formatLength =  null;
}

如果您没有为该变量提供null或其他任何值的初始值,该怎么办? 然后对它进行操作。

它会有所作为吗?因为我是JavaScript的新手,并且试图保持良好的习惯,我对此感到疑惑。

2 个答案:

答案 0 :(得分:2)

如果您希望默认为某个值,请为其指定初始值。因此,如果您稍后在不设置值的情况下访问它,它将设置一些内容。

如果您没有为其设置值,则只需undefined。这是JS中的一个类型,可以在代码中进行检查。

答案 1 :(得分:1)

第一个构造函数不会创建formatLength字段。它只是试图获得一个不存在的字段。

第二个构造函数创建formatLength字段。

@lighty将字段设置为undefined没有意义。在js中,字段可以为C#中的null。如果试图引用对象中不存在的字段,则undefined是'value'。

var o = {};
var u = o.youField; // u is set to undefined;

undefined表示对象未定义此字段。

你可以写下:

var o = { yourField :  undefined};

但我从未见过这个。 你应该这样写:

var o = { yourField :  null};

所以,如果你想要带有初始值的un字段(偶数为null),你应该这样写:

var Class = function data() {
    var self = this;
    self.formatLength =  null;
}
var c = new Class();

如果您要删除此字段,请按以下方式调用删除:

delete c.formatLength;

我希望它有所帮助。