js设计模式-原型模式

Posted xiaomie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

 

以上是关于js设计模式-原型模式的主要内容,如果未能解决你的问题,请参考以下文章

关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)

PHP设计模式之工厂模式和原型模式

JS中的原型模式

JS面向对象基础讲解(工厂模式构造函数模式原型模式混合模式动态原型模式)

js设计模式-原型模式

原型模式故事链--JS执行上下文变量提升函数声明