元スレ+ JavaScript の質問用スレッド vol.109 +
JavaScript覧 / PC版 /みんなの評価 :
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ならパフォーマンス厨堕天
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
トップメニューへ / →のくす牧場書庫について