异步脚本

来源:互联网 发布:linux udp端口禁用 编辑:程序博客网 时间:2024/06/06 14:26

HTML5为 <script> 元素定义了 async 属性。这个属性与 defer 属性类似,都用于改变处理脚本的行为。同样与 defer 类似, async 只适用于外部脚本文件,并告诉浏览器立即下载文件。但与 defer 不同的是,标记为 async 的脚本并不保证按照指定它们的先后顺序执行。例如:


<!DOCTYPE html>

<html>

<head>

<title>Example HTML Page</title>

<script type=“text/javascript” async src=“example1.js”></script>

<script type=“text/javascript” async src=“example2.js”></script>

</head>

<body>

<!— 这里放内容 —>

</body>

</html>


在以上代码中,第二个脚本文件可能会在第一个脚本文件之前执行。因此,确保两者之间互不依赖非常重要。指定 async 属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改DOM。


异步脚本一定会在页面的 load 事件前执行,但可能会在 DOMContentLoaded 事件触发之前或之后执行。支持异步脚本的浏览器有Firefox 3.6、Safari 5和Chrome。



在XHTML文档中,要把 async 属性设置为 async=“async” 。




练习


如果有以下数组([0,2,3,4,4,0,2]),需要去重,请写出如何实现。


——前端面试题



答案:

JS

var deduped = [0,2,3,4,4,0,2].filter(function(el,i,arr)){

    return arr.indexOf(el) === i;

}

console.log(deduped); // [0,2,3,4]

JS

var deduped = Array.from(new Set([0,2,3,4,4,0,2]));

console.log(deduped); // [0,2,3,4]

好了,今天的文章就到这里,本文由Web前端精髓为您提供,喜欢的同学记得点击收藏或者点赞哦!

原创粉丝点击