发表于: 2017-06-21 21:43:01
1 877
今天完成的事情:看红宝书,学习面向对象。
明天计划的事情:写前台页面方案,拆分我新计划组的禅道!
遇到的问题:暂无
收获:红宝书里面讲的面向对象,其中关于prototype部分,收获很不错
function person() {
person.prototype.name = '123';
person.age = 20;
}
var person1 = new person();
alert(person1.name); //123
alert(person1.age); //undefined
alert(person.prototype.isPrototypeOf(person1)) //true
person1.name = '456';
alert(person1.name); //456
delete person1.name;
alert(person1.name); //123
创建一个构造函数,在函数中分别赋值person.prototype.name和person.age,一个是原型对象信息,一个是普通对象信息。
对创建一个对象为person1 = new person(),在person1中可以获取到原型name的值,但是对于age,是不存在的。
而如果给name赋值,那么name的值会随之改变。但是如果删除了name以后,还是可以得到name的值,为最初prototype的值。
而如果创建一个person.age,赋值以后再删除,并不能获得age。因为age不是prototype类型
评论