![c75955c07362f6a386406fd581aa3133.png](https://img-blog.csdnimg.cn/img_convert/c75955c07362f6a386406fd581aa3133.png)
1. js异步加载的方式
方案一、$(document).ready()
需要引入jquery
兼容所有浏览器
$(document).ready(function() {
alert("加载完成!");
});
方案二、
标签的async="async"属性
async属性是HTML5新增属性,需要Chrome、FireFox、IE9+浏览器支持
async属性规定一旦脚本可用,则会异步执行
async属性仅适用于外部脚本
此方法不能保证脚本按顺序执行
方案三、
标签的defer="defer"属性
defer属性规定是否对脚本执行进行延迟,直到页面加载为止
如果脚本不会改变文档的内容,可将defer属性加入到标签中,以便加快处理文档的速度
兼容所有浏览器
此方法可以确保所有设置了defer属性的脚本按顺序执行
方案四、动态创建
标签
兼容所有浏览器
(function(){
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "http://code.jquery.com/jquery-1.7.2.min.js";
var tmp = document.getElementsByTagName('script')[0];
tmp.parentNode.insertBefore(script, tmp);
})();
2. 堆排序原理
需要注意的是 大顶堆 是为了 实现升序排序,小顶堆是为了实现降序排序 参考JS实现堆排序
3.vue组件通信方式
组件间传递数据(props/emit、$parent/$childen
、eventBus、vuex/localStorage,provide/inject,$attr/$listien
;好吧,我只知道前四个。详细的参考:vue组件间通信六种方式(完整版)