异步
与其他函数并行运行的函数称为异步(setTimeout)
例:
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function getFile(myCallback) { let req = new XMLHttpRequest(); req.open('GET', "mycar.html"); req.onload = function() { if (req.status == 200) { myCallback(this.responseText); } else { myCallback("Error: " + req.status); } } req.send(); } getFile(myDisplayer);
先执行getFile(myDisplayer)函数,进入到getFile函数中,执行到if/else中的myCallback时,执行myDisplayer 函数
在上面的示例中,myDisplayer
用作回调。函数(函数名)作为参数传递给 getFile()
。
setTimeout(myFunction(),3000); function myFunction(){ document.getElementById("demo").innerHTML="加油~" }
函数(函数名)作为参数传递给 setTimeout()
。
当函数作为参数进行传递时,不要使用括号。
若不将函数的名称作为参数传递给里一个函数,则始终可以传递整个函数。