Javascript 函数变量
Javascript Function Variables
变量
结果和状态在这里指的是什么? 它们从何而来? 出发地、目的地和出行模式如何传递到函数中? 函数的结果去哪儿了?
$('#directions-form').submit(function(e) {
$('#error').hide();
ds.route({
origin: $('#from').val(),
destination: $('#to').val(),
travelMode: $('#mode').val()
}, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
fitBounds = true;
dr.setDirections(result);
}
else {
$('#error').text(status).show();
}
recalcHeight();
});
e.preventDefault();
return false;
});
它们是成功回调函数的参数。
使用适当的变量调用 route 方法时,当响应成功时,会异步触发回调。参数是作为方法调用的一部分的回调的一部分。
因此,您可以继续将它们替换为所需的任何变量名称,这些变量名称可以在函数闭包中使用。
}, function(a, b) { // Will work to
使用两个参数调用此函数:
ds.route()
第一个参数是一个包含一些值的对象:
{
origin: $('#from').val(),
destination: $('#to').val(),
travelMode: $('#mode').val()
}
第二个参数是一个函数:
function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
fitBounds = true;
dr.setDirections(result);
}
else {
$('#error').text(status).show();
}
recalcHeight();
}
请注意,在 JavaScript 中,函数与其他任何对象一样是一个对象,可以像变量一样传递。 由于它作为变量传递到 ds.route()
中,因此函数本身尚未执行。
在内部,ds.route()
使用第一个参数,该参数具有值(起点,目的地,旅行模式)来做某事。 不管是什么,它只是函数做什么。
然后,当它完成后,它将执行第二个参数,即函数。 当它执行该函数时,它将把两个值作为参数传递给它。 这些值最终将成为函数中使用的result
和status
变量。
为了说明这一点,您可以执行以下简单操作:
function doSomething(value, callback) {
if (value == 1) {
alert("The value is 1");
callback(2)
}
}
doSomething(1, function (value) {
if (value == 2) {
alert("The value is 2");
}
});
这定义了一个函数,该函数接受两个参数,并期望它们是一个数字和一个函数。 如果数字等于 1,则执行该函数。 然后使用值 1 和一个函数调用此函数,该函数将作为回调执行。
当使用
route 对象作为唯一参数调用 ds.route
时,它会生成一个result
和一个status
。这些作为参数传递给其回调。
相关文章:
- 带有两个变量函数的Ajax提交表单
- 设置变量函数不起作用
- 为什么使用 ||在变量函数声明中
- Javascript 变量函数不保留值
- 为什么要在函数定义之外引用静态变量(函数属性)
- jQuery 变量函数无法运行
- 循环中的变量函数定义
- javascript onclick设置为变量函数名
- JavaScript:调用已启动类(数据包处理程序)的变量函数
- Javascript测试存根全局变量函数
- Aptana能否识别其他文件中定义的变量/函数
- jquery将其传递给变量函数
- 传递一个变量函数到数组[Javascript]
- 如何使用' this '像一个对象,并通过字符串获得它的变量/函数
- javascript变量/函数的首字母是什么意思?
- Javascript .apply带有变量函数名
- 在JavaScript中添加一个全局变量/函数(特别是NativeScript)
- 变量函数未定义错误
- AngularJS-继续检查变量/函数
- Javascript从本地向全局变量函数添加行