假设我有一个看起来像这样的构造函数
function Persons(lastName) {
this.lastName = lastName;
this.firstName = [];
}
然后像这样的原型
Persons.prototype.getFirstName = function() {
getName();
return firstName;
}
getName函数
var getName = function() {
}
如果我在getName中想要将值“Andrew”发送到数组this.firstName = [];我怎样才能做到这一点?它甚至可能吗?
答案 0 :(得分:1)
您可以将数组传递给函数并将其填充到那里:
Persons.prototype.getFirstName = function() {
getName(this.firstName);
return this.firstName;
}
var getName = function(arr) {
arr.push("Andrew");
}
或者您可以从函数返回值并在方法中设置它:
Persons.prototype.getFirstName = function() {
this.firstName.push(getName());
return this.firstName;
}
var getName = function() {
return "Andrew";
}
答案 1 :(得分:0)
是可能的,如下:
var getName = function(person) {
person.firtName.push("Andrew");
};
然后在prototype
:
Persons.prototype.getFirstName = function() {
getName(this);
return firstName;
};
但它并不好看。这似乎是一种不好的做法。无论如何,希望这有帮助。
答案 2 :(得分:0)
您可以使用call
的方法Function
,如下所示:
Persons.prototype.getFirstName = function() {
getName.call(this);
}
这样您可以将this
引用绑定到getName
函数,因此您可以安全地访问它,如下所示:
var getName = function() {
this.firstName.push("Andrew");
}
Here您可以找到有关call
。