Javascript 在JS实例上绑定和调用方法

Javascript 在JS实例上绑定和调用方法,javascript,object,methods,Javascript,Object,Methods,我有这个: function Person(number){ this.number = number; } Person.prototype.wording = function(){ if (this.person == 1){ return "person is"; } else { return "people are"; } }; var per1 = new Person(1); console.log(per1.wording, '**');

我有这个:

function Person(number){
  this.number = number;
}

Person.prototype.wording = function(){
  if (this.person == 1){
    return "person is";
  } else {
    return "people are";
  }
};

var per1 = new Person(1);
console.log(per1.wording, '**');
我退出[功能] 当我在我的实例上调用一个方法时,如何将它绑定到一个对象,或者告诉它运行该函数

console.log(per1.wording());
这应该可以解决它。 我对你的代码的解释,以及如果我错了,我将如何写这样的东西来纠正我:

var persons=[];
function person(name){
persons.push(this);
person.name=name;
}
function saypers(){
if(persons.length>1){
alert("Plural!");
}else{
alert("Singular!");
}
}
做某事,例如:

albert=new person("albert");
saypers();//singular
einstein=new person("einstein");
saypers();//plural
console.log(persons);//albert, einstein

正如haim770所指出的,您需要通过添加括号来调用per1.wording:per1.wording

另外,你可能指的是这个.number,而不是这个.person

职能人员编号{ 这个数字=数字; } Person.prototype.wording=函数{ //将this.person更改为this.number 如果this.number==1{ 返回人是; }否则{ 返回的人是; } }; var per1=新员工1; //通过添加
console.logper1.措辞“**”;措辞是一个函数,只需使用per1.wording调用它。另外,请记住,至少在使用当前代码时,this.person始终是未定义的,也许您是指这个.number?噢。我可能误解了这个事实。新人5//这对我来说毫无意义me@haim770我真是太特别了:/。谢谢