0

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

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

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

如果你不给那个变量一个初始值,比如 null 或任何值,然后对它进行操作。

会有什么不同吗?因为我是 JavaScript 的新手,并试图保持良好的习惯,所以我想知道它。

4

2 回答 2

2

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

如果您不为其设置值,它将只是undefined. 这是 JS 中的一种类型,可以在您的代码中进行检查。

于 2013-08-20T17:34:47.280 回答
1

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

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

@lighty 将字段设置为未定义没有意义。在 js 中,字段可以为 null,就像在 C# 中一样。如果试图引用对象中不存在的字段,undefined 是“值”。

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 如下:

delete c.formatLength;

我希望它有所帮助。

于 2013-08-20T17:34:54.423 回答