在这段代码getCurrentPosition方法的返回geoposition对象作为参数,如果你在一个方法传递函数。
它不是返回作为参数的信息。它调用你给它的信息作为参数的函数(我们在JavaScript中使用单词“参数”,而不是参数)。函数是JavaScript中的第一类对象,您可以将引用传递给函数并在函数中使用它们。
所以,如果你有一个foo
功能,并希望它来调用回调,其结果是:
function foo(callback) {
// ...come up with the result, then:
callback(result);
}
这是特别有用的,这将是A)反复调用回调函数(如Array#sort
一样),或B)异步回调(与geolocation
一样)。
例子:
function giveMeARandom(min, max, callback) {
callback(min + Math.floor(Math.random() * (max - min)));
}
giveMeARandom(1, 10, function(value) {
snippet.log("Value is " + value);
});
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
要传递的功能 - 你可以把它作为一个参数? –