一、今天因为要优化页面,所以复习了下文档碎片 经典插入法 for (var i = 0; i < 1000; i++) { var elem = document.createElement(‘p’); elem.innerHTML = i; document.body.appendChild(elem); } 1000个Reflow。。。伤不起。。 修改后 var cacheFrag = document.createDocumentFragment(); //重点 for (var i = 0; i < 1000; i++) { var elem = document.createElement(‘p’); elem.innerHTML = i; cacheFrag.appendChild(el);//重点 } document.body.appendChild(cacheFrag); 二、函数表达式问题 var a=function b(){}; alert(typeof b); http://www.w3help.org/zh-cn/causes/SJ9001 就是说根据 ECMA 规范中的规定,以上函数表达式中的标识符 b 将仅在该函数的内部可以被访问, 即 b 仅在该函数的作用域内有效,外部无法访问。但ie没听话。。 三、图片的宽高问题。 之前有个需求是一个裁剪图片的js,载入时会把图片改变大小。这时候如何获取到原图的地址呢? var img=new Image() img.url=”图片地址”; 之后拿一下 img.width即可~ 另外还有问题,就是 直接获取这样的图像宽高,是获取不到的, 要把图片对象放到dom树中,并且display属性不等于none,才能取到offsetWidth和offsetHeight属性 即document.body.appendChild(img)