我最近一直在测试一些代码,试图更好地理解 javascript。然后我遇到了call()我无法很好理解的函数。
我有以下代码:
function hi(){
console.log("hi");
}
var bye = function(param, param2){
console.log(param);
console.log(param2);
console.log("bye");
}
Run Code Online (Sandbox Code Playgroud)
如果我打电话bye.call(hi(), 1, 2),我会得到hi 1 2 undefined
如果我打电话bye.cal(1,2),我会得到2 undefined bye undefined
据我了解,call()函数的第一个参数必须是一个函数,后面是我的函数接受的参数数量bye。但是最后一个未定义从哪里来呢?