のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,914人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ+ JavaScript の質問用スレッド vol.110 +

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    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万あるんだから
    空のリストの宣言とはまるっきり違う


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について