0

我将声明一个文字如下:

var obj = {
    x: null,
    init: function (pX) {
        this.x = pX;
    }
};

反对?

我想这样做,因为x: undefined这与根本不声明是一样的x。为以后的初始化声明文字成员时有什么好的做法?

4

1 回答 1

1

如果您出于某种原因需要该属性作为占位符存在,null则与任何值一样好。您可以使用与初始化时将包含的值足够不同且具有可比性的任何值。

例子:

var obj = {
  x: null,
  init: function (pX) {
    if (this.x == null) {
      this.x = pX;
    }
  }
}

如果您不需要检查占位符的值(或出于其他一些奇怪的原因),那么您也不需要占位符。通过为其赋值来创建属性是完全有效的:

var obj = {
  init: function (pX) {
    this.x = pX;
  }
}
于 2015-02-08T12:12:59.940 回答