元スレ+ JavaScript の質問用スレッド vol.110 +
JavaScript覧 / PC版 /みんなの評価 :
459 = :
でも一つの文字列に格納したらものすごく重くなって死にますよね
配列に一行ずつ入れるんですか?
460 = :
http://www.hp-stylelink.com/news/2013/10/20131008.php
ここに
>ユーザーの入力に悪意のあるスクリプトが混入していた場合、
>実行されてしまうおそれがあるので、
>ユーザーの文字列の入力に対して、
>evalを使用するのは避けてください
という文句がありましたが
ユーザーサイドで実行されるスクリプトが
ユーザーからの操作を気にしても仕方ないのではないでしょうか?
気にする必要があるのは
ユーザー以外が入力できる可能性のある文字列のパースではないですか?
また、deleteを使ってはならない理由もわかりません
462 = :
でも10万文字目を削除するとかいう処理が
一つの文字列だと激重になるのでは
JavaScriptに限らずですが
463 = :
行単位で配列にしてもいいし
Blobから見えてる範囲だけライブロードしてもいい
あと思うじゃなくて実際に試してみな
両者こう思うの言い合いだけじゃ何も進展しないだろう
465 = :
テキストフォームにfocusinした時に、全選択状態にするようにしました
デバッガで追っていると確かに全選択されるのですが、
デバッガで止めずに動かすと選択が解除されるのです
そこでsetTimeoutでfocusinから10ms後に選択するようにするようにしたら、
ちゃんと選択されるようになりました
ですが、何が選択をキャンセルしているのか分からないのが気持ち悪いです
どんな可能性がありますか?
466 = :
http://jsbin.com/UYEcicO/1/edit
再現コードが書けました
タイムアウト使用の方はフォーカスすると選択状態になり
未使用の方はならないと思います
468 = :
>何が
ユーザーの操作が
Chromeで試したが両方全選択にはならない
こういう挙動に頼るのはやっちゃいけない
469 = :
ありがとうございます
ユーザーの操作とはどういうことでしょうか?
ただフォーカスしただけなのにキャンセルされる意味が分かりません
470 = :
フォーカスってクリックだろ?
タブフォーカスなら両方安定にフォーカスされるよ
474 = :
そうなった場合は全体がセレクトされるが
タイミングの問題でそうならないことが多いから中途半端にセレクトされてる
478 = :
サイズなんて入れるもののタイプで変わってくるから
サイズ通りメモリを確保するわけじゃない
481 = :
一度に巨大な領域を確保すると初期化コストがかかりすぎるってだけで
トータルではサイズ指定した方が速いのでは
482 = :
これを見ればV8で何が行われてるのかよく分かんだね?
http://jsperf.com/pre-allocated-arrays/22
483 = :
なぜ要素数指定の方がここまで遅くなる?
484 = :
Chrome 32では指定した方が速くなってるな
結局「どちらが筋がいいか」が最適化の基準になるということだろう
筋の悪い最適化は所詮一時的なもので長期的には高い確率で逆転する
485 = :
ほんとIEは素直だな
487 = :
要素数を指定した方が遅くなる、っていうのは筋が悪いから
いずれ逆転する可能性は高いと思う
489 = :
要素数に応じて使われ方が違うだろうから
統計を参考にするV8は
GCとかも考えてそれぞれにあった最適化してるんじゃないの?
490 = :
http://stackoverflow.com/questions/6711462/chrome-thinks-99-999-is-drastically-different-than-100-000
10万未満なら実際にメモリの割当をするが、10万以上ならしない
はっきり分かんだね?
491 = :
>>488
他にも要素数が細かく決められていて面白い
492 = :
あったあったこれだ
これは紛れもない真実だから参考にした方がいい
http://1000ch.net/2013/01/04/JavaScriptPerformanceTechniqueByGoogle/
496 = :
>>492
横レスで申し訳ないですが
> 2.オブジェクトメンバを常に同じ順序で初期化する
違う順序で初期化される場合ってどんなときですか?
498 = :
「要素数指定しない場合と同じになる」なら分かるけど
遅くなるってのはアルゴリズムが悪いだろ
単に要素数が閾値を超えていたら指定しない場合と同じ処理すりゃいいんだから。
lengthだけは変わるけどここまで遅くなるのは道理が通らない
舐めてんのか
499 = :
>>497
おおお…
500 = :
>>498
V8にアルゴリズムが悪いとか何様だよw
メモリを最初から確保しないだけで要素は空っぽの状態で実際に10万あるんだから
空のリストの宣言とはまるっきり違う
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.120 + (1002) - [97%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.140 + (1001) - [97%] - 2019/9/19 10:45
- + JavaScript の質問用スレッド vol.109 + (1001) - [95%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2022/11/29 16:30
トップメニューへ / →のくす牧場書庫について