原型链中存在一种顺序的小关注点:
function Person () {
}
var person = new Person();
Person.prototype = {
name: 'Sea',
sayName: function () {
alert(this.name);
}
}
person.sayName(); //Type Error
原因如下图所示:
改变一下原有的创建原型对象的顺序,就可以访问新原型上定义的方法了:
function Person () {
}
Person.prototype = {
name: 'Sea',
sayName: function () {
alert(this.name);
}
}
var person = new Person();
person.sayName(); // Sea