高性能的js之js加载 :性能问题是一个网站体验的关键题文章

1首先js标签自带阻塞特性当网页加载遇到此标签的时候会去执行下载,并执行标签内部的函数方法(慢啊)

2常见做法比如说把js放在body底部,这样就先保证的dom元素的渲染,再加载js不会出现视觉上面的等待空白期

3上面的做法比较粗糙,我们也可以使用我们也可以使用元素的属性defer ,async进行异步加载,前者异步元素解析完之后加载,后者只是异步加载,存在浏览器兼容性的问题

4既然说到兼容性那第三方框架最大的基础特性就是解决兼容性问题,

     a直接ajxa请求js文件这是优化方案这也是实现思路之一

     b使用市面上常用的lazyload等等这些小型的框架体积也只要4k左右

5异步加载就解决所有问题了吗?然而并不是?正如我们使用的第三方框架一样经常会先引入jq,就是所谓的依赖,不同的js文件直接存在依赖关系都是异步加载的话,网络情况不可测,报错就是在所难免,必须保证A.js执行完才执行B.js。不管是js和jq都有方法支持比如说js的loadscript和jq的then都可以,常用的框架就是requirejs就是实现思想为模块注入,要用A加载A,先用B加载B。利用这个可以进行一些模块化的封装。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Nul...
    极乐君阅读 11,019评论 0 106
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,696评论 1 92
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,543评论 25 709
  • 一、以下事实,你承认吗? 世界上没有一例胃病是吃胃药治好的。 没有一例高血压是吃了降压药治好的。 也没一例糖尿病...
    霖霖妈妈阅读 2,695评论 0 0
  • 早上闹钟响了、竟然做梦拿起手机看点、误以为时间还早。睡梦中惊醒已经来不及了。用了十五分钟刷牙洗脸穿衣服、画了个匆忙...
    丁小二Carrie阅读 2,972评论 0 1

友情链接更多精彩内容