js设计模式-原型模式

1.Object.create(obj,[]) 创建一个以obj为原型的对象。

function res4(){};
 res4.prototype=Object.create(myobj, {
  // foo会成为所创建对象的数据属性
  foo: { writable:true, configurable:true, value: "hello" },
  // bar会成为所创建对象的访问器属性
  bar: {
    configurable: false,
    get: function() { return 10 },
    set: function(value) { console.log("Setting `o.bar` to", value) }
}})

原型模式 是指 拷贝这些原型创建新的对象。

浅拷贝,深拷贝,object.create()创建。

深拷贝。

  function clone2(obj){
    var ret,k,b;
    if((b=(obj instanceof Array)) || obj instanceof Object){
      ret=b?[]:{};
      for(k in obj){
        ret[k]=clone2(obj[k]);
      }
    }else{
      ret=obj
    }
    return ret;
  }

可以用es6代替:

var o = Object.create(myobj);

 

posted on 2016-03-31 15:36  xiaomie  阅读(147)  评论(0编辑  收藏  举报

导航