我想写一个这样的函数:
function myNew(constructor) {
return constructor.applyNew(Array.prototype.slice.call(arguments, 1));
}
仅applyNew
不存在。有办法解决这个问题吗?
最佳答案
您首先必须创建一个继承自构造函数原型(prototype)的对象,然后将构造函数应用于该对象以对其进行初始化:
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/