Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎样才能使用“;。调用();方法,为什么它有一个;空";价值_Javascript - Fatal编程技术网

Javascript 我怎样才能使用“;。调用();方法,为什么它有一个;空";价值

Javascript 我怎样才能使用“;。调用();方法,为什么它有一个;空";价值,javascript,Javascript,那么基本上我为什么要在这种情况下使用这种方法呢 function Example(callback) { // What's the purpose of both 'call()' and 'null'? callback.call(null, "Hello") } Exemple(function(callback) { alert(); }) 我已经在一个开放项目代码中找到了这种语法,但我还没有找到它工作的原因。在这种情况下不需要使用cal

那么基本上我为什么要在这种情况下使用这种方法呢

function Example(callback) {  
    // What's the purpose of both 'call()' and 'null'?  
    callback.call(null, "Hello") 
}  

Exemple(function(callback) {  
    alert();
})  
我已经在一个开放项目代码中找到了这种语法,但我还没有找到它工作的原因。

在这种情况下不需要使用
call()
在需要在函数中设置此的值时使用。如果不这样做,只需像调用任何其他函数一样调用该函数。例如:

函数示例(回调){
//调用传入的函数
回拨(“你好”)
//这同样有效,但没有任何好处
//因为回调不关心这个`
//callback.call(null,“Hello”)
}  
//将回调函数传递给示例
示例(函数(文本){
console.log(文本);

})
乍一看,这似乎毫无意义,但是,这种语法可能有合理的原因,例如:

  • 回调显式依赖于
    null
    ,而不是某些全局默认值

  • 回调不一定是函数,它可以是提供
    .call
    方法的“类似函数”对象

  • callback.call(…
    在应用程序中始终使用,无论是否需要