name) {this.age = age;this.name = name;}function member(age
//原型工厂模式
function extend(target, origin) {
target.prototype = Object.create(origin.prototype);//此要领创建了一个东西,,改削父类原型与子类原型彼此独立
Object.defineProperty(target.prototype, "constructor", {
value: target,
enumerable: false
})
}
//东西工厂模式
function User(age, name) {
this.age = age;
this.name = name;
}
function member(age, name) {
let instance = Object.create(User.prototype);
User.call(instance, age, name);
instance.pri = function () {
console.log([age, name]);
}
return instance;
}
var queen = member(11, ‘Tom‘);
//通过mixin实现多担任 let admin = { prtadmin() { return "admin"; } } let user = { __proto__: admin, // mixin的内部担任 prtuser() { console.log(super.prtadmin() + "user"); //super关键字 = this.__proto__ } }; // 向函数原型内添加要领的三种方法 // Fun.prototype.user = user.prtuser; // Fun.prototype.admin = admin.prtadmin; 该要领可以将添加的要领进行重定名 // Object.assign(Fun.prototype, admin, user); 使用Object.assign要领会转变原东西 // Fun.prototype = Object.assign(Fun.prototype, admin, user); function Fun() { } let fun = new Fun();
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31922.html
- 上一篇:HTTP协议中的Accept与Content
- 下一篇:从而提升页面渲染性能