gpt4 book ai didi

javascript - 为什么是 Function.prototype.bind.apply?

转载 作者:行者123 更新时间:2023-11-29 21:36:04 25 4
gpt4 key购买 nike

我了解 Function.prototype.bind.apply 的工作原理。假设有以下定义:

var Constructor = function(someArgument){
//constructor body here
};

var creator = function(ctor, args){
args.unshift(null); //or anything else to make 'bind' succeed
return new (Function.prototype.bind.apply(ctor, args));
};

var creator2 = function(ctor, args){
return new ctor(args);
};

var obj = creator(Constructor, ['someVar']);
var obj2 = creator2(Constructor, ['someVar']);

creatorcreator2 都可以,那么为什么要选择 creator 而不是 creator2

最佳答案

调用 creator2args 数组作为单个数组参数传递给构造函数。

调用 creator 将数组中的每个项目作为单独的参数传递(通过 apply)。

关于javascript - 为什么是 Function.prototype.bind.apply?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com