如下面的代码,test函数内打印入参root,在runTest里return 一个test的bind,bind时给test传参为字符串'root'。
然后我调用runTest(),它的调用结果是test函数的引用,但是是bind过后的。
此时我再给它传入false:runTest()(false)。
打印出来的是bind时传的参数:'root',而不是我后来传入的false,这是因为bind传参比调用时传参的优先级高吗?
function test(root) {
console.log(root)
}
function runTest() {
return test.bind(null, 'root')
}
runTest()(false)
// root
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…