我有一个构造函数定义如下:
function Person(fname, lname) {
this.firstName = fname;
this.lastName = lname;
this.printName = function(fname, lname){
console.log("Name: " + this.firstName + " " + this.lastName);
}
}
现在,我可以使用 new
关键字从我的构造函数创建一个对象,并调用“printName”方法打印创建的“Person”对象的名字和姓氏:
const p = new Person("John", "Doe");
p.printName(); // output: 'Name: John Doe'
我还可以使用内置的 javascript .call
方法和我的构造函数来创建一个新对象,如下所示:
Person.call({}, "John", "Doe");
这是我的问题: 在这种情况下如何调用“printName”方法?
最佳答案
由于您直接调用该方法,因此您需要从中返回一个值:
function Person(fname, lname) {
this.firstName = fname;
this.lastName = lname;
this.printName = function(){
console.log("Name: " + this.firstName + " " + this.lastName);
}
return this;
}
然后你可以调用结果,比如:
Person.call({}, "John", "Doe").printName();
关于javascript - 将 Call 方法与构造函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56638707/