这个原型设置我做错了什么?

时间:2013-09-06 01:10:06

标签: javascript prototypejs

请参阅简化代码。我没有用这种模式得到什么?

    var john = new person('john');
    john.hi();

    function person(name) {
      this.name = name;
    }

    person.prototype.hi = function() {
      console.log('hi there. Name is ' + this.name);
    };

2 个答案:

答案 0 :(得分:3)

如果出现任何问题,那就是事情的顺序。除此之外,这似乎是正确的。

function person(name) {
  this.name = name;
}

person.prototype.hi = function() {
  console.log('hi there. Name is ' + this.name);
};

var john = new person('john');
john.hi();

答案 1 :(得分:0)

您还可以在创建对象后添加原型函数,并且所有实例都可以调用此函数,甚至是之前创建的实例。因为当你调用一个函数时,如果你的对象本身没有找到任何函数,就会搜索原型链。