Apr
6th
Fri
6th
** JavaScriptの処理中、ブラウザは停止する - JavaScriptはシングルスレッド - タイマーを使った擬似スレッド処理が可能 — 複雑な機能を分割し、callbackを受け取るように作る ** DOM vs innerHTML - JSONからHTMLへのレンダリングをどうするか。 - 大雑把に言うと二通り — 文字列でHTMLを組み立ててinnerHTMLに代入 — DOM操作でHTMLを組み立ててappendChild * 速度に関する多くの誤解 - 結論 — DOMプロパティの読み書きや — DOMメソッドの呼び出しが遅い — ケースバイケースで適切な方法を選んで使う。 ** innerHTMLを使う - innerHTMLは元々IEの勝手な拡張 — 一部の人に嫌われる理由 - 使われまくってるので今更なくなるということはない ** 良くある間違い - element.innerHTML += “hoge” — 追記にはならない。 - element.innerHTML = element.innerHTML + “hoge” と同等。 — まったく最適化されない。 ** JavaScript内で処理する - innerHTMLに頻繁にアクセスしない。 - 複雑なHTMLを組み立てる場合は「JavaScript」の変数内で作る。 - 最後に一気にまとめてinnerHTMLに代入する。 ** ベストプラクティス - 見た目の変更: styleで。 - 大幅な見た目の変更:classNameで。 - 追加と挿入: appendChild/insertBeforeで。 - 大幅な書き換え:innerHTMLで。 - 間違ったことをしなければ極端に遅くなることはない。