嘿伙计们是javascript的新手,我在javascript中看过一个名为call()
的函数..我写了一个代码来检查call()
函数的工作原理..
我的代码是
(function(baby) {
console.log(baby);
}).call("oops");
当我像这样调用函数时,得到像undefined
这样的输出。我需要输出oops
。希望你们可以通过这种方法帮助我获得所需的输出..
任何帮助都会受到赞赏..非常感谢...
答案 0 :(得分:5)
first parameter of call是this
对象,换言之,this
将在函数中引用的对象。
其余参数将用作功能参数。所以,你想要的是:
(function(baby) {
console.log(baby);
}).call(this, "oops");
或..
(function(baby) {
console.log(baby);
}).call(window, "oops");
答案 1 :(得分:1)
(function(baby) {
console.log(baby);
}("oops"));
或
(function(baby) {
console.log(baby);
}).call(window, "oops");
答案 2 :(得分:0)
call方法的第一个参数是调用的“this”,只是第二个,其余的作为参数传递给函数。使用.call(null,“oops”),它将起作用