补充说明:
function Person() {
}
Person.prototype.name = "Nicholas";
Person.prototype.age = 29;
Person.prototype.job = "SoftWare Engineer";
Person.prototype.sayName = function() {
alert(this.name)
}
var keys = Object.keys(Person.prototype);
console.log(keys);
var p1 = new Person();
p1.name = "Rob";
p1.age = 31;
var p1keys = Object.keys(p1);
console.log(p1keys);
Console台输出结果:
- 这个数组数据就是for-in出现的顺序
- 通过Object.getOwnPropertyNames(),可以获得对象上所以的属性(包括不可枚举的)
var keysall = Object.getOwnPropertyNames(Person.prototype);
Console台输出结果:
function Person() {}
var friend = new Person(); //先创建了一个Person实例
Person.prototype.sayHi = function() { //再对实例添加方法
alert("Hi!");
}
friend.sayHi(); //该实例依旧可以调用新方法