我正在查看来自w3schools的javascript代码示例: http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation
如果定义函数showPosition有一个名为position的参数:
function showPosition(position) {... }
为什么可以不带参数调用它:
navigator.geolocation.getCurrentPosition(showPosition);
示例是功能性的,只是试图理解它
事实上我很惊讶showPosition有一个参数。你会改变吗?
答案 0 :(得分:3)
那不是调用函数,它将函数作为参数传递给另一个函数。 getCurrentPosition
使用该参数作为回调,稍后它将使用适当的参数调用该函数。
函数调用在函数名后面总是有括号,例如showPosition(something)
。
答案 1 :(得分:0)
JS中有arguments
类似数组的对象,允许跳过实际参数,并在{1}}中使用arguments[0]
。