先举个异步的小栗子
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学习jQuery Callback 函数</title>
</head>
<body>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function TestA(callback) {
console.log("执行TestA函数");
if (callback) {
setTimeout(callback,3000);
}
}
function TestB() {
console.log("执行TestB函数");
}
$(document).ready(function(){
TestA(function TestC(){
console.log("执行TestC函数");
});
TestB();
}) ;
</script>
</body>
</html>
输出结果如下:
运行结果
以上代码会先执行函数TestA,而且不会等到callback函数执行完才执行函数TestB, 在回调函数被触发的过程中就执行了函数TestB;当js引擎的event 队列空闲时才会去执行队列里等待的setTimeout的回调函数TestC,这就是一个异步的例子