Array.Call(o)对原型继承做了什么?

what does Array.Call(o) do with prototypical inheritance?

本文关键字:继承 什么 原型 Call Array      更新时间:2023-09-26

我在某处读到:

var o = new Array();

实际上在执行以下操作:

var o = {};
o.__proto__ = Array.prototype;
Array.call(o)

我的问题是Array.call(o)在做什么?

如果我有o2 = {};

Array.call(o2)做什么?

TIAJD

JavaScript中的new操作符有三个基本任务。首先,它创建一个新的空对象。接下来,它设置新对象的proto属性,以匹配被调用函数的prototype属性。最后,操作符调用函数并将新对象作为"this"引用传递给

这里的函数是数组构造函数array ()第一步是创建一个空对象

var o = {};
第二步是设置proto属性
o.__proto__ = Array.prototype;

然后,最后一步,调用函数,并传递新对象作为引用

Array.call(o)