-
加载页面和静态资源
-
页面渲染
-
通过链接名称控制缓存,只有内容改变的时候,链接名称才会改变
<script src="abc_1.js"></script> <script src="abc_2.js"></script>
-
从最近的服务器获取资源
-
将数据直接输入到HTML中,浏览器拿到HTML后直接渲染数据,不需要ajax请求,提高性能。
-
给浏览器赋值缓存过的很小的图片,当用户滑动网页到该位置时才加载图片。
<img id="img1" src="preview.png" data-realsrc="abc.png"/> <script> var img1 = document.getElementById('img1') img1.src = img1.getAttribute('data-realsrc') </script>
-
var pList = document.getElementByTagName('p') // 多次用到的DOM元素赋值给变量进行缓存
-
var listNode = documnet.getElementById('list') // 插入10个 li 标签 var frag = document.createDocumentFragment() var x, li for(x = 0; x < 10; x ++){ li = document.createElement('li') li.innerHTML = "List item" + x frag.appendChild(li) } listNode.appendChild(frag) // 10个li同时插入DOM结构中
-
var textarea = document.getElementById('text') var timeouId textarea.addEventListener('keyup', function(){ if(timeoutId) clearTimeout(timeoutId) timeoutId = setTimeout(function(){ // 触发change事件 }, 500) }) // 当用户输入间隔大于0.5s时触发事件,对于打字快的人,节省了很多事件,提升了性能
-
window.addEventListener('load', function(){ // 页面的全部资源加载完才会执行,包括图片、视频等 }) document.addEventListener('DOMContentLoaded', function(){ // DOM 渲染完即可执行,此时图片、视频可能还没有加载完 }) // 一般情况下,应DOM渲染完时就开始执行js