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

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

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

    951 = :

    親divの中に100個の子divを作り個別にidやstyle.top, leftを指定、更新時には親divごと消す
    ということをやってるのですが、どうやらcloneNode~removeChildよりも
    HTMLテキストを繋げてinnerHTMLで上書きする方が倍ほど早いようです
    それでもinnerHTMLは使わないべきでしょうか?

    952 = :

    innerHTMLより遅いなんてよほど馬鹿なコード書いてるとしか思えん

    953 = :

    innerHTMLは遅い
    お前の書き方が悪いだけ
    http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/9

    954 = :

    >>948
    実際の動作によって性質を判定する方法をダックタイピング的と言ったのです
    これは今後もJavaScriptにおいても重要な手法となるので覚えておいてくださいね
    逆にブラウザ名で判別するのはモダンではない
    jQuery.browserがなくなったのも同じ傾向上にあるものです

    955 = :

    >>951
    innerHTMLの方が速い場合もあるよ
    場合によって使い分けるべきで、どちらの方が絶対にいいというもでもない

    956 = :

    そりゃ逆だ
    物の肩書ではなく持っている性質によって振る舞いが決定される
    つまり主導権は物側にあるというのがダックタイピングだ
    性質を量るというのはタイプ、つまり型で判定するということで
    ダックタイピングとは真逆だぞ

    957 = :

    >>954
    それをダックタイピング的と呼ぶのは恥ずかしいからやめとけ

    958 = :

    >>955
    そうか~?innerHTMLでできることをパーサーを動かさないノード操作に
    置き換えて遅くなるとかほとんど無かったんだが
    一見すると絶対innerHTMLの早いだろう?って感じのコードでも実際に
    計ってみるとノード操作の方が早かったりした
    まあそれでも、誤差程度の差にしかならん場所には、
    わかりやすさ重視でinnerHTMLを使ったりするけどね

    959 = :

    >>956
    それは違います
    レンダリングという実際のふるまいで判定しているのですからダックタイピング的です
    比較対象が最終段階で数字となっているのであなたは勘違いしているのです
    ものごとの本質を見て下さいね
    >>957
    C級技術者には伝わらないということが嫌というほど分かったで気を付けますね

    960 = :

    てか少し前に、このスレでもinnerHTMLの方が速い場合もあるという結論が出てたと思うけど

    961 = :

    >>959
    ダックタイピングっていうのはあくまでも型付けの手法
    実際のふるまいは関係無い
    実際のふるまいでなくメソッドの名前等(シグネチャ)で判別される
    異なるふるまいをするとしても同じシグネチャのメソッドが揃っていれば同じ型とみなされる

    962 = :

    >>959
    俺俺言語やめちくり~

    963 = :

    >>959
    素直に「そうだったんですか」とか
    「勘違いしました」って謝ればいいのに
    引込みがつかなくなるとこまで意地を張る哀れな性格の奴だな

    今からでも「分かりました」って一言かけば
    こちらとてそれ以上追求しないし
    お前さんの人間度もupするぞ

    いい加減見苦しい意地張りはやめよう
    恥ずかしいよ?

    964 = :

    >>960
    一般的な操作においては明らかに遅いです

    965 = :

    コードも貼られてないんだから一般的なケースで話すのが当たり前
    ~の場合もあるとか言ってたらキリがないし

    パフォーマンス云々じゃなくて質問者のコードの問題を取り去って
    改善するという考え方でいかないと

    967 = :

    配列として明示するって具体的にどういうこと?
    見た目の問題?
    配列以外をエラーにしたいの?
    それとも初期値を空配列にしたいとか?
    もしくはargumentsみたいなこと言ってるんじゃないよね?

    968 = :

    >>967
    見た目の問題です

    配列ってわかるようにしたいです

    function(array arr){}みたいにはできないみたいですし
    教えてください

    971 = :

    は?
    「arr」で配列だって一目瞭然じゃない?
    この程度にDOCなんていらんよ

    972 = :

    ダックタイピング的に考えると
    配列が必ずしもArrayであるとは限らない

    974 = :

    ダック・タイピング的にやるなら、こうすか?

    function( arr ){
      if(arr != null && typeof arr === "object" && 'splice' in arr && 'join' in arr){
        console.log('良し');
      }
      else{
        throw('フジャッケンナ!フジャッケンナ!');
      }
    }

    976 = :

    見た目的でいいんなら悪い書き方だけどこう書くこともできるよ
    function ( arr = Array ) { }

    977 = :

    もし部下がこんなコード書いてたら90分説教だわ

    978 = :

    >>977
    また本質的には変わらないコード書いた上に
    長い説教するのだけは勘弁して下さい

    981 = :

    だからこそのダックタイピング

    982 = :

    >>964
    誰が「一般」を決めるんだよw
    innerHTMLが速いのは大量のコードをDOMツリーに追加するような場合だよ
    これも十分一般的な用途だが

    983 = :

    >>963
    それはこっちの台詞だよw
    最初は優しく教えてあげてるんだからそれで納得しろよ
    君と関わってもこっちは何も得るところがないんだから

    984 = :

    まとめての場合でも50倍遅いって上のベンチで出ちゃってるじゃんwwww
    嘘つきw

    985 = :

    しまった巨人様だ!
    皆スルーして早く帰ってもらおう!

    986 = :

    >>827
    この件ですが、pot.jsをヒントにして配列をインターバルにイテレートする処理を書いて
    体感速度を大幅に上昇させることができました
    ありがとうございました

    987 = :

    ポットンJSの話何回するんですかねえ……

    988 = :

    引篭り児童を更生させてあげるのも大人の役目
    早く彼が良くなることを願って茶番に付きあおう

    989 = :

    http://jsperf.com/innerhtml-vs-createelement-test

    これなんかはinnerHTMLの方がずっと速い
    だからその時々でパフォーマンスを比較するのがいい
    一つの方法に固執するのはC級プログラマーの特徴だよ

    990 = :

    こりゃ大層なツッコミ待ちだこと

    991 = :

    >>821
    確かにお前さん言うとおり只者で無いことは分かった。
    表に出ちゃいけない人間だよ、お前。

    992 = :

    流れが悪いと察するやいなや個人攻撃に切り替える人間の屑
    屑だよあんた、屑、屑、屑、くず!1

    993 = :

    質問スレで議論うぜえな

    994 = :

    >>982-983はなり済ましです
    >>959からここまで書き込んでいません

    995 = :

    すみませんでした
    今ではむきになって言い過ぎたと反省しております

    996 = :

    反省は人を成長させる

    997 = :

    実際の使用方法は要素を空にするより追加や書き換えが主
    >>953の比べ方こそ特殊

    998 = :

    富豪プログラミングしろよ

    999 = :

    999ならパフォーマンス厨昇天

    1000 = :

    1000ならパフォーマンス厨堕天


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

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


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