【发布时间】:2017-02-28 10:14:06
【问题描述】:
如果这是重复的,我不知道其他人是如何回答这个问题的
所以我开始学习 js 中的 oop。这是我的第一语言。在这三个元素中,我决定开始学习继承。我似乎已经掌握了从其他对象继承的对象,尽管我还没有将它应用于任何编码挑战。
但问题是:我尝试学习从构造函数继承的构造函数,我了解到你需要 object.call()。
根据 Mozila.developer,这是一个提供的参数。我假设我不必担心。
但我对这之后的论点做了什么感到困惑。
来自Mozilla:
"参数
thisArg 这为有趣的呼吁提供了价值。请注意,这可能不是方法看到的实际值:如果方法是非严格模式代码中的函数,null 和 undefined 将被替换为全局对象,原始值将转换为对象。 参数 1,参数 2,... 对象的参数。 返回值
使用指定的 this 值和参数调用函数的结果。"
例子:
function a(r){
this.r = r;
}
function b(r){
a.call(this, .....)
}
b.prototype = object.create(a.prototype);
【问题讨论】:
-
我猜你指的是 Function 对象的 call 方法,即继承自 MDN here 上的 Function.prototype.call 的那个?
-
是的,这是正确的,对吧?用构造函数继承构造函数?
-
“在这三个元素中,我决定开始学习继承” - 另外两个是什么? (我怀疑你选择了最令人困惑的事情开始。)
-
另外两个是多态广告封装。继承之后,接下来该学什么?
标签: javascript oop inheritance constructor