js异步加载的callback()方法是什么?

JavaScript015

js异步加载的callback()方法是什么?,第1张

上面的callback()方法是参数传入的,当然需要你在外部定义一个函数。

回调函数,就是当加载完成后,可以进行下一步操作的函数。

举个简单的例子:

登陆操作,当输入用户名和密码进行登陆后,发送一个异步请求至服务端,来验证是否为合法用户。

假如服务端的验证方法,返回一个true|false的布尔值。

客户端脚本中在得到服务端的响应后,就可以进入回调函数。

那么在回调函数中,可以根据这个返回值,进行相应的操作。比如,true的话,跳转到主页面;false的话,重新定位到登陆页面。

回调函数在ajax中还是很有用的。

callback是一个函数对象。

callback.call是这个函数对象的一个方法。

假如callback这个函数有3个参数a,b, c

你可以用以下3种方法执行它

callback(a,b,c)

callback.call(null,a,b,c)

callback.apply(null,[a,b,c])

其中null的位置传的是函数内部所使用的this。

就是将一个函数当作参数传给另一个函数,被传的函数叫做回调函数,主要的用意就是当主函数完成后再去执行回调函数。比如:

<script type="text/javascript">

function a() {

div1.innerHTML += "a"

}

function b() {

div1.innerHTML += "b"

}

var div1

window.onload = function () {

div1 = document.getElementById("div1")

setTimeout("a()", 3000)

b()

}

</script>

输出结果是:ba

如果改成这样:

<script type="text/javascript">

function a(callback)

{

div1.innerHTML += "a"

callback()

}

function b(){

div1.innerHTML+="b"

}

var div1

window.onload = function () {

div1 = document.getElementById("div1")

setTimeout("a(b)", 3000)

}

</script>

输出结果就是:ab