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的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)