原型模式理解
来源:互联网 发布:屏幕录像ios 知乎 编辑:程序博客网 时间:2024/06/05 00:18
- function Person(){
}
Person.prototype.name='Malin';
Person.prototype.sayname=function(){
alert(this.name);
};
var person1 = new Person ();
person1 . sayname(); // 'Malin'
- Person.prototype.constructor = Person // Person 是一个构造函数 Person.prototype是一个原型对象,他的constructor属性指向了Person构造函数
- person1实质上是与 Person.prototype有直接关系,与Person构造函数无关
Person.prototype 有很多属性 name , sayname()...
person1继承了原型对象的属性和方法
person1._proto_ == Person.prototype // true - 如果原型中有的属性,和实例对象的属性有重名,则不会去找原型里面的同名属性,因为顺序是,先从这个实例对象的属性找,找到了就不会去原型找了
- deleta person1.name //删除实例自己创建的name属性,那么就会去原型中找name属性
- 更好的写法
Person.prototype = {
constructor : Person, // 用这种写法会导致 constructor指向Object 所以要重写 constructor指向Person
name : 'Malin',
sayname : function(){
alert( this.name );
}
}; - 最好的创建实例的方法,构造函数和原型模式混合使用
function Person(){ //所有的属性,都封装在 构造函数中
name = 'Malin';
friends = { 'lihua' , 'xiaoming'};
}
Person.prototype = { //所有的方法, 都封装在原型中
constructor = Person,
sayname = function(){
alert( this.name );
}
};
var person1 = new Person();
var person2 = new Person(); - 无对象属性的时候创建选择动态原型模式
0 0
- 原型模式理解
- java中的原型模式理解
- JavaScript 原型模式的理解
- js的原型模式理解
- 原型模式--设计模式(没理解)
- 简单理解设计模式之原型模式
- 我理解的原型设计模式
- 6.2.3 对原型模式的理解
- 原型理解
- 原型模式-浅克隆和深克隆的自我理解
- 如何理解原型模式(Prototype)解析(包含源码)
- 如何理解原型模式中的深复制和浅复制
- 原型模式
- 原型模式
- 原型模式
- 原型模式
- 原型模式
- 原型模式
- java web根据excel word模板生成前台页面,自动求和
- Vijos——P1001 谁拿了最多奖学金
- 网站挂马方法大全
- NOIP2013复赛提高组day2(A:积木大赛 B:花匠 C:华容道)
- 企业喜欢用容易被记住的电话号码(树解法)
- 原型模式理解
- Zabbix分布式监控(4)云告警
- 6--OOP
- 总结35
- 译文:使用MVC5的Entity Framework 6入门(六)——为ASP.NET MVC应用程序创建更复杂的数据模型
- 进制转换
- 用数据库实现通讯录
- package 工厂方法模式;
- 【CodeVS 2083】Cryptcowgraphy 解密牛语