JS原型设计模式(四)之缺陷二
来源:互联网 发布:java messagequeue 编辑:程序博客网 时间:2024/06/02 02:12
在java中我们知道数组是引用类型,在js中同样,数组也是引用类型,所以在原型上使用的属性是数组的时候会出现意想不到的问题
var Person=function (){};Person.prototype={ address:['北京市','上海市']};var person1=new Person();var person2=new Person();person1.address.push('深圳市');console.log(person1.address);//北京市,上海市,深圳市console.log(person2.address);//北京市,上海市,深圳市所以在使用原型上时使用引用类型不应该放在原型对象上,应该放在构造函数中。
往往在我们重写原型对象时没有注意到,就忽略了本不应该出现的缺陷
var Person = function () {};
因为我们在第二次的时候是重新给原型属性赋予新的对象,而不是修改器原型对象var friend=new Person();Person.prototype={ sayHi:function(){ console.log("-----------"); }}friend.sayHi();//function is not defined
0 0
- JS原型设计模式(四)之缺陷二
- JS原型设计模式(四)之缺陷(一)
- JS原型设计模式(二)
- 设计模式(二)之 Prototype(原型)
- 设计模式(四)之Prototype - 原型模式
- C++设计模式之四:Prototype(原型模式)
- 设计模式系列之四:原型模式
- 四、设计模式之三-----原型模式
- JAVA设计模式之四:原型模式
- C++设计模式之原型模式(二)
- 设计模式之(二)原型模式Prototype
- JS设计模式之原型模式
- JS原型设计模式之动态模式
- 设计模式之四--Prototype(原型)
- C#设计模式(四)原型模式
- java设计模式(四)---原型模式
- C++ 设计模式(四)----原型模式
- 【设计模式】(四)原型
- 接收消息
- 数组划分--lintcode
- File.io读取文件(一)
- 欧拉回路 HDU
- ubuntu BCM43142 安装网卡驱动
- JS原型设计模式(四)之缺陷二
- 关于NSMutableArray线程安全的思考和实现
- Swift 3.0 学习 -- 计算字符数量 (Counting Characters)
- Activity的启动模式详解
- Scramble String
- 一次面试记录
- DES/3DES/AES区别
- Halcon算子之fit_circle_contour_xld,用于圆拟合XLD轮廓
- python lambda