12种不宜使用的Javascript语法整理(2)


  var Cat = function (name) {
    this.name = name;
    this.saying = 'meow' ;
  }


然后,再生成一个对象
  var myCat = new Cat('mimi');
这种利用函数生成类、利用new生成对象的语法,其实非常奇怪,一点都不符合直觉。而且,使用的时候,很容易忘记加上new,就会变成执行函数,然后莫名其妙多出几个全局变量。所以,建议不要这样创建对象,而采用一种变通方法。
Douglas Crockford给出了一个函数:

复制代码 代码如下:


  Object.beget = function (o) {
    var F = function (o) {};
    F.prototype = o ;
    return new F;
  };


创建对象时就利用这个函数,对原型对象进行操作:

复制代码 代码如下:


  var Cat = {
    name:'',
    saying:'meow'
  };
  var myCat = Object.beget(Cat);


对象生成后,可以自行对相关属性进行赋值:
  myCat.name = 'mimi';

12.void
在大多数语言中,void都是一种类型,表示没有值。但是在Javascript中,void是一个运算符,接受一个运算数,并返回undefined。
  void 0; // undefined
这个命令没什么用,而且很令人困惑,建议避免使用。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdzwfj.html