比如下面关于 bind
函数的 syntax
fun.bind(thisArg[, arg1[, arg2[, ...]]])
就是那些方括号是什么意思,为什么要这么写?
比如下面关于 bind
函数的 syntax
fun.bind(thisArg[, arg1[, arg2[, ...]]])
就是那些方括号是什么意思,为什么要这么写?
MDN 是个好地方,你可以看看它 Function.prototype.bind() 章节
摘抄相关说明如下
arg1, arg2, ...
当绑定函数被调用时,这些参数加上绑定函数本身的参数会按照顺序作为原函数运行时的参数。
举个例子(因为主要是演示参数,所以就直接绑定到 null
了)
function test (a, b, c, d) {
console.log(`a = ${a}, b = ${b}, c = ${c}, d = ${d}`);
}
let bind1 = test.bind(null);
let bind2 = test.bind(null, "first", "second");
bind1("hello", "world");
bind2("hello", "world");
一般呢 参数的集合会用个 arguments 来表示,它表示的是个数组怕[],所以你也就大概能懂 arg1,arg2这些事个什么东西了,说白了就是指对应的参数了,本身就是数组里面的东东嘛.
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
这里的 [] 是可选的意思:
你可以 func.bind(thisArg),
也可以 func.bind(thisArg, arg1)
也可以 func.bind(thisArg, arg1, arg2)
.
.
.
还可以 func.bind(thisArg, arg1, arg2, arg3, ..., argN)
在这里,整体的意思是, func.bind 函数可以接受1个或多个参数。