json
是一种传输数据的格式(以对象为样板,本质上就是对象,但用途有区别,对象是本地用的,json是用来传输的)
- JSON.parse(); string -> json
- JSON.stringify();json -> string
domTree + cssTree = randerTree
reflow 重排 dom结点的删除,添加 dom结点的宽高变化,位置变化display none – > block
offsetWidth offsetLeft
repaint 重绘
异步加载js
**js加载的缺点:**加载工具方法没必要阻塞文档,过度js加载会影响页面效率,一旦网速不好,那么整个网站将等待js加载而不进行后续渲染等工作;
有些工具方法需要按需加载,用到再加载,不用不加载。
异步加载:
①
<script type = "text/javascript" src="tools.js" defer="defer"></script>
defer异步加载,但要等到dom文档全部解析完才会被执行。只有IE能用,也可以将代码写到内部
②
async 异步加载,加载完就执行,async只能加载外部脚本,不能把js写在script标签里;
执行时也不阻塞页面。
<script type = "text/javascript" src="tools.js" aysnc="aysnc"></script>
③
创建script,
var script = document.creatElement('script');
script.type = "text/javascript";/*设置*/
script.src = "tools.js"; /*下载*/
script.onload = function(){
text();
}
document.head.appendChild(script);
IE方法: