JavaScriptパターン
JavaScriptパターン ―優れたアプリケーションのための作法
- 作者: Stoyan Stefanov,豊福剛
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/02/16
- メディア: 大型本
- 購入: 22人 クリック: 907回
- この商品を含むブログ (76件) を見る
JavaScriptというだけの理由で買う。
大体実践している事が5割くらいかな。
例えば、
for(var i = 0; i < myarray.length; i++){ //do something }
普通のループだが、クライアント側のJSだと「myarray」は8割は、
HTMLCollectionだと思う。
んでも、もってIE6/IE7とかもサポートしてあげなきゃいけない場合、
こういうなんとくのループを書いてると、痛い目にあう。「なんか遅くね」と言われるわけだ。
HTMLCollectionを扱いう場合は、当然DOMアクセスが発生し、
IEだと特に顕著だけど、DOMアクセスはスゲー遅いのだ。
だから、
for(var i = 0,max = myarray.length; i < max; i++){ //do something }
の様に書く。
max = myarray.length
のコードでmaxにlengthキャッシュしといけば、DOMアクセスは初期化時のみで済む。
もちろんループ内でコレクションが変更される場合はコレではだめです。
JavaScripterの間ではこの程度は常識かもしれないけどね。
ただ、あんまjavascriptとか良くわかりませんという人たちで、
大規模Webアプリとか作ると往々にして、こういう基本的なパフォーマンス問題にハマっているケースは結構あるとのではないかと思う。
クライアントサイドはあんましらないけど、文法もJavaに近いから、
という感じでやりだすとなんて事ない普通のコードだからね。
これがあらゆる画面にばらまかれている状態になる前になんとかしておくべき。
とまあ、そういう事が書いてあるので、
JavaScriptのイロハが分かったら読んだ方がいい本。
「サイ本」と併せて読むといい。
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/08/14
- メディア: 大型本
- 購入: 52人 クリック: 1,011回
- この商品を含むブログ (271件) を見る