Javascript 创建对象时要应用的类似方法

Javascript 创建对象时要应用的类似方法,javascript,function,object,arguments,apply,Javascript,Function,Object,Arguments,Apply,如果我想在另一个函数中运行一个函数,我可以像这样传入一些参数: function applyFunc(type) { myNamespace[type].apply(this, arguments.splice(1)); } 但是有没有类似的方法(或者真正简单的解决方法)来实例化一个新对象,即将外部参数传递给内部函数,但也使用new关键字 function newObj(type) { new myNamespace[type].apply(this, arguments.sp

如果我想在另一个函数中运行一个函数,我可以像这样传入一些参数:

function applyFunc(type) {
    myNamespace[type].apply(this, arguments.splice(1));
}
但是有没有类似的方法(或者真正简单的解决方法)来实例化一个新对象,即将外部参数传递给内部函数,但也使用new关键字

function newObj(type) {
    new myNamespace[type].apply(this, arguments.splice(1)); //apply doesn't work here
}

是的,应该有用。如果在代码中不使用,则可以考虑使用<代码>数组.Trime.Studio。调用(参数,1)< /C> >(或<代码> []。切片(调用(参数,1)< /代码>)代替<代码>参数。剪接(1)< /代码>。以下是一些测试代码,也可以在中找到:

function C(){}

C.prototype.fun = function(){
 alert('hello'+[].slice.call(arguments).join('\n'));
};

function newf(t){
 new C()[t].apply(this,[].slice.call(arguments,1));
}

new C().fun.apply(null,[1,2,3]); //works
newf('fun',1,2,3); //works