//定义构造函数Person
var Person = function(name, age){
this.name = name;
this.age = age;
}
Person.prototype.school = "NJUPT";
var p = new Person("chaimm",23);
p.school;
当访问p.school时,JS会首先在对象p的属性中查找,若不存在,则通过_proto_属性向上查找,当发现Person.prototype属性中存在school时,则查找成功。否则,继续沿着原型链向上查找。
var p = new Person("chaimm",23);
p.school = "NJU";
alert(p.school);
按照原型链查找次序,首先从当前对象的属性域查找,若找到school,则输出结果。从而实现面向对象中继承的效果。
Person.prototype.hobby = "LOL";
可以为任何“父类”添加任何属性。
for(item in p){
if(p.hasOwnProperty(item)){
console.log(item);
}
}
hasOwnProperty是Object.prototype中的函数,因此所有对象都可以使用。