Javascript 如何在函数中作为参数返回值
今天我看到了Javascript 如何在函数中作为参数返回值,javascript,Javascript,今天我看到了navigator.geolocation.getCurrentPosition(函数(obj){console.log(obj)})code。在这段代码中,getCurrentPosition方法将Geopposition对象作为参数返回,前提是您在该方法中传递了函数。我想知道它是如何工作的。如果我有一个返回字符串的方法,并且我希望它像getCurrentPosition那样返回,那么我该如何实现它呢。比如说 var me={ fn:function(){ return "
navigator.geolocation.getCurrentPosition(函数(obj){console.log(obj)})
code。在这段代码中,getCurrentPosition方法将Geopposition对象作为参数返回,前提是您在该方法中传递了函数。我想知道它是如何工作的。如果我有一个返回字符串的方法,并且我希望它像getCurrentPosition那样返回,那么我该如何实现它呢。比如说
var me={
fn:function(){
return "getObj";
}
}
me.fn(function(obj){console.log(obj)}) should be print //"getObj"
您需要传递一个回调函数:
您需要传递一个回调函数:
在这段代码中,getCurrentPosition方法将Geopposition对象作为参数返回,前提是您在该方法中传递了函数
它不会将信息作为参数返回。它调用您提供的函数,并将信息作为参数(我们在JavaScript中使用“参数”一词,而不是参数)。函数是JavaScript中的一级对象,您可以将对它们的引用传递到函数中,并在函数中使用它们
因此,如果您有一个foo
函数,并希望它调用一个带有结果的回调:
function foo(callback) {
// ...come up with the result, then:
callback(result);
}
这对于以下函数特别有用:A)重复调用回调函数(如Array#sort
does),或B)异步调用回调函数(如geolocation
does)
例如:
随机函数(最小、最大、回调){
回调(min+Math.floor(Math.random()*(max-min));
}
随机(1,10,函数(值){
log(“值为”+Value);
});代码>
在这段代码中,getCurrentPosition方法将Geopposition对象作为参数返回,前提是您在该方法中传递了函数
它不会将信息作为参数返回。它调用您提供的函数,并将信息作为参数(我们在JavaScript中使用“参数”一词,而不是参数)。函数是JavaScript中的一级对象,您可以将对它们的引用传递到函数中,并在函数中使用它们
因此,如果您有一个foo
函数,并希望它调用一个带有结果的回调:
function foo(callback) {
// ...come up with the result, then:
callback(result);
}
这对于以下函数特别有用:A)重复调用回调函数(如Array#sort
does),或B)异步调用回调函数(如geolocation
does)
例如:
随机函数(最小、最大、回调){
回调(min+Math.floor(Math.random()*(max-min));
}
随机(1,10,函数(值){
log(“值为”+Value);
});代码>
您正在传入函数-可以将其作为参数吗?您正在传入函数-可以将其作为参数吗?是javascript中预定义的回调函数吗?@amit,不是。您可以将其命名为foo
或任何您想要的名称,它只是参数名。尽管建议使用if(typeof callback==“function”)
检查它是否实际上是一个函数。是javascript中预定义的回调函数吗?@amit,否。您可以将其命名为foo
或任何您想要的名称,它只是参数名。尽管建议使用if(typeof callback=='function')
检查它是否实际上是一个函数。