JS中的异步操作有哪些

JavaScript027

JS中的异步操作有哪些,第1张

JS中的异步操作:

1、定时器都是异步操作

2、事件绑定都是异步操作

3、AJAX中一般我们都采取异步操作(也可以同步)

4、回调函数可以理解为异步(不是严谨的异步操作)

正常加载不是异步加载,但可以设置异步加载。

1、正常加载是指:

js在html里引用,即用script标签引入,不加script的其他属性设置。

2、可以设置是指:

1) defer,只支持IE

示例:

代码如下:

<script type="text/javascript" defer="defer">

alert(document.getElementById("miao").firstChild.nodeValue)

</script>

2) async :

async的定义和用法(是HTML5的属性)

async 属性规定一旦脚本可用,则会异步执行。

示例:

代码如下:

<script type="text/javascript" src="test_async.js" async="async"></script>

3) 创建script,插入到DOM中 ,加载完毕后callBack,见代码:

代码如下:

function loadScript(url, callback){

var script = document.createElement_x("script")

script.type = "text/javascript"

if (script.readyState){ //IE

script.onreadystatechange = function(){

if (script.readyState == "loaded" ||

script.readyState == "complete"){

script.onreadystatechange = null

callback()

}

}

} else {

script.onload = function(){

callback()

}

}

script.src = url

document.body.appendChild(script)

}