Javascript object.call 的参数是什么?

标签 javascript oop inheritance constructor

不,如果这是重复的,我不知道其他人如何表达这个问题

所以我开始学习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/

相关文章:

Java:我根本不理解这个泛型定义

javascript - 在多个 Chosen Select 中隐藏选中的选项

javascript - 在 ajax 请求中,url 中的前面的 `/` 指定了什么?

javascript - 在 Photoshop cc 20.0.0 中通过批量智能对象中的脚本替换内容(替换图层)

javascript - 在iframe嵌入上,点击显示div或计数器开始

c# - 我应该默认推荐密封类吗?

php - PDO 自定义类和安全性

java - 在面向对象编程中,在其方法中引用接口(interface)子项是正确的方法吗?

C# 不可变类子类

C++ 类层次结构设计选择