不,如果这是重复的,我不知道其他人如何表达这个问题
所以我开始学习js中的oop。这是我的第一语言。在这三个要素中,我决定开始学习继承。我似乎已经掌握了从其他对象继承的对象,尽管我还没有将其应用于任何编码挑战。
但问题是:我尝试学习从构造函数继承的构造函数,并且我了解到您需要 object.call()。
根据 Mozila.developer 的说法,这是一个提供的参数。我假设我不必担心它。
但是我对 this 之后的参数的作用感到困惑。
来自 Mozilla:
“参数
这个参数 这个值是为调用 fun 提供的。请注意,这可能不是该方法看到的实际值:如果该方法是非严格模式代码中的函数,则 null 和 undefined 将被替换为全局对象,并且原始值将被转换为对象。 arg1、arg2、... 对象的参数。 返回值
使用指定的 this 值和参数调用函数的结果。”
示例:
function a(r){
this.r = r;
}
function b(r){
a.call(this, .....)
}
b.prototype = object.create(a.prototype);
最佳答案
But I am confused on what the arguments do after the this.
thisArg
之后的参数被一一传递给被调用的函数。在您的示例中:
function A(r_a){
this.r = r_a;
}
function B(r_b){
A.call(this, r_b)
}
var b = new B(1)
值1
被传递到B
,在那里它可以作为r_b
使用,它是通过调用
传递的> 方法到 A
中,它可以作为 r_a
参数使用,并最终出现在 b.r
属性中。
您可以通过这种方式传递任意多个参数。
关于Javascript object.call 的参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40120086/