原型链中的顺序问题

原型链中存在一种顺序的小关注点:

   function Person () {
   }

   var person = new Person();

   Person.prototype = {
      name: 'Sea',
      sayName: function () {
           alert(this.name);
    }
  }

  person.sayName(); //Type Error  

原因如下图所示:
原型链中的顺序问题_第1张图片

改变一下原有的创建原型对象的顺序,就可以访问新原型上定义的方法了:

   function Person () {
   }

   Person.prototype = {
      name: 'Sea',
      sayName: function () {
        alert(this.name);
      }
   }  

   var person = new Person();

   person.sayName(); // Sea 

你可能感兴趣的:(JavaScript)