ホームページ >ウェブフロントエンド >H5 チュートリアル >HTML5 で最適化できる詳細の紹介
この記事では、HTML5 で最適化できる詳細を説明します。必要な方は参考にしていただければ幸いです。
最近コンパイルされた最適化の詳細をいくつか紹介します。画像圧縮については説明しません。これは最適化で行う必要があることです。今日は、コードを書くときに誰もが培うことができる最適化の詳細について話します。
function cached (fn) { var cache = Object.create(null); return (function cachedFn (str) { var hit = cache[str]; return hit || (cache[str] = fn(str)) }) }; var fk = function (str) { return str.charAt(0).toUpperCase() + str.slice(1) } var cacheFk = cached(fk) // 1 step cacheFk('ui') //2 step cacheFk('ui')
// 触发两次 layout var newWidth = p.offsetWidth + 50; p.style.width = newWidth + 'px'; var newHeight = p.offsetHeight + 50; p.style.height = newHeight + 'px'; // 只触发一次 layout var newWidth = p.offsetWidth + 50; var newHeight = p.offsetHeight + 50; p.style.width = newWidth + 'px'; p.style.height = newHeight + 'px';
アニメーション要素はラベル外が最適であり、他のモジュールに影響を与えません。これも他の要素に影響を与えないようにするためです。
var len = dom.length; for(var i = 0;i < len;i++){};
var start = null; var element = document.getElementById('SomeElementYouWantToAnimate'); element.style.position = 'absolute'; function step(timestamp) { if (!start) start = timestamp; var progress = timestamp - start; element.style.left = Math.min(progress / 10, 200) + 'px'; if (progress < 2000) { window.requestAnimationFrame(step); } } window.requestAnimationFrame(step); //window.requestAnimationFrame(callback); 返回值是一个 long 整数,请求 ID ,是回调列表中唯一的标识。是个非零值,没别的意义。你可以传这个值给 window.cancelAnimationFrame() 以取消回调函数。
//dom = document.querySelector("#id"); function test() { dom = document.querySelector("#id"); }
function t1(){ //20ms var i = 0; for(item in anObj) { i++ } if( i === 100000){ console.log('for in ok') } } function t2(){ //4ms var len = anObj.length; var i = 0; for(var i = 0 ;i < len;i++){ i++ } if( i === 100000){ console.log('for ok') } }
<meta name="format-detection" content="telephone=no" /> <meta name="format-detection" content="email=no" />
実際のところ、最適化には細かい部分がたくさんあるので、コーディングの習慣を身につけ、少しずつ積み重ねていくと、コードの品質が確実に違ってきます。
以上がHTML5 で最適化できる詳細の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。