This question already has answers here:
Use of .apply() with 'new' operator. Is this possible?
(36个答案)
6年前关闭。
我想写一个像这样的函数:
仅
(36个答案)
6年前关闭。
我想写一个像这样的函数:
function myNew(constructor) {
return constructor.applyNew(Array.prototype.slice.call(arguments, 1));
}
仅
applyNew
不存在。有没有解决的办法? 最佳答案
您首先必须创建一个从构造函数的原型继承的对象,然后将构造函数应用于该对象以对其进行初始化:
function applyNew(fn, args) {
var obj;
obj = Object.create(fn.prototype);
fn.apply(obj, args);
return obj;
}
关于javascript - 将数组应用于Javascript中的“new”? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21296675/
10-09 17:27