坏小仔

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年3月24日

摘要: 原型对象的最大问题是由其共享的本性所导致的。原型中的所有属性被很多实例共享: 通过在实例中添加一个同名属性,可以隐藏原型中的对应属性(通过实例对象操作原型对象中的属性只能读,不能写) 对于包含引用类型的值有所不同View Code 1 function Person(){ 2 3 } 4 5 Person.prototype = { 6 constructor: Person, 7 name: 'default name', 8 age: 0, 9 friends: ['A', 'B']10 }11 12 var person1 = new Pe 阅读全文
posted @ 2013-03-24 10:16 坏小仔 阅读(181) 评论(0) 推荐(0) 编辑

摘要: View Code 1 funciton Person(){ 2 3 } 4 5 var person = new Person(); 6 7 Person.prototype = { 8 constructor: Person, 9 name: 'June',10 age: 2411 }12 13 14 //person.sayName(); //error调用构造函数创建实例时,会为实例添加一个指向最初原型的__proto__指针,而把构造函数的原型修改为另一个新对象就等于切断了构造函数与最初原型的连接。注意:实例中的指针仅指向原型,而不指向构造函数。Person.pr.. 阅读全文
posted @ 2013-03-24 09:45 坏小仔 阅读(280) 评论(0) 推荐(0) 编辑

摘要: View Code 1 function Person(){2 3 }4 5 Person.prototype = {6 name: "june"; 7 age: 24 8 };上面代码中:Person.prototype的constructor属性不再指向Person;每创建一个函数,默认创建它的prototype对象,这个对象自动获得constructor属性;上述写法本质是重写了默认的prototype对象,因此constructor属性指向Object构造函数,不再指向Person函数。View Code var person = new Person();ale. 阅读全文
posted @ 2013-03-24 09:19 坏小仔 阅读(168) 评论(0) 推荐(0) 编辑