美文网首页
创建对象的一些方法 和应用场景

创建对象的一些方法 和应用场景

作者: 闇哨 | 来源:发表于2017-04-06 22:02 被阅读0次

1、字面量的方法创建对象

使用字面量的方法是创建对象的基本方法

var  att={
    name:name,
    age:age;
}

优点是创建单个 属性相对较少时书写方便,便于理解。
缺点当创建多个属性大致相同的对象时它会比较麻烦而且不便于批量修改;

2、通过new Object 的方法;

var att=new Object;
完全等于 var att={};

3、通过工场的方式批量创建出对象;

这种方法和之前的调用函数的方法很象;

function add(name,age,sex){
    var add={
        name,//这里完全等同于name:name,
        age:age,
        eat(){}//这里是创建方法等同于eat:function(){}        
    }
    return add
}
var  att=add{'name','age','sex'}

这种方法创建建的对象相对于前面的字面的方法要强大一些 因为可对属性相同的对象 分别赋值批量创建对象。
但是这种方法创建的对象时每次都会调用一次函数这种方法创建的对象相同属性也不会指向同以地址。每次访问属性都会产生垃圾。

3、构造函数的方法创建对象。

那么对于上面说的工场方法的一些缺点我们有一个新的方法创建对象,构造函数数的方法来创键对象 ;

function  Add(){
   this.name='name';
    this.eat=function (){};//这里的this指代 当调用函数试使用的变量的;
    Add.prototype.play=function (){}//这里的方法 最好创建在函数所指向的原型中有利于回避上面方法中所提到的重复调用产生垃圾的问题

}
var att=new Add()//构造函数的方法可以说只是 以调用的方式不同来决定的不与函数的本身相关;

但是调用函数也有一些小的问题:方法重读取产生的垃圾;
为了只读取一次那么可以使用这种方案;

function Add(){
  this._init();//以_开头命名表示只可以在本函数中调用(并非强制规定)
}
Add.prototype={
    _init:function (){//在这里添加的内容最好为属性,便于属性的值可以独立变更
      this.name:‘name’
      }
  eat:function(){}
}

相关文章

网友评论

      本文标题:创建对象的一些方法 和应用场景

      本文链接:https://www.haomeiwen.com/subject/yrumgttx.html