元スレ+ JavaScript の質問用スレッド vol.107 +
JavaScript覧 / PC版 /みんなの評価 :
801 = :
これはもうただのマゾだな
802 = :
どこがどう間違っているのかという
「技術に関する事実」の話だけして下さいね
803 = :
そんな態度のやつに教えてあげようと思う人間がこの世にいるとでも思うのか
学校の先生は金を貰ってるから失礼な馬鹿にでも丁寧に教えるんだぞ
804 = :
だからリアル中学生だって。
805 :
すみません、自己解決しました。
教えてくださった方、どうもありがとうございました。
806 = :
>>800
のjsperfを参考にして
(function ($){
if ( $.escapeHTML ) { throw 'already exists';}
$.escapeHTML = function (str) {
return str.replaceAll('&', '&').replaceAll('"', '"').replaceAll("'", ''').replaceAll('<', '<').replaceAll('>', '>');
};
}(jQuery));
と、replaceAllを使うように変更しました
ありがとうございました
807 = :
ちなみに何故jqueryプラグインにするかですが、
とりあえずjqueryプラグインにしておけばモジュール化されて取り回ししやすいからですよ
808 = :
普通の関数だと、それがモジュール化を前提とした流用可能な関数なのか、
ドメスティックな処理なのかが判別しにくいですが
プラグインにしておくと、一発で流用可能な処理だと分かるので。
もっと合理的な方法ありますか?
809 = :
>>799
>エラーなんて出ませんが?
ワラタ
実行してないのか、デバッグツールでエラーの見方も知らないのかどっちかだな
810 = :
今コピペしなおして実行したらエラー出ました
動いていたと勘違いしていたようです
すみません
811 = :
>>807
> とりあえずjqueryプラグインにしておけばモジュール化されて取り回ししやすいからですよ
なんでモジュール化するって話にjQueryプラグインがでてくるんですか?
jQueryプラグインにしなくてもモジュール化出来るでしょ。すごく簡単に。
jQueryプラグインにすると、jQueryを使わない場合に使えません。
なぜ意味もなくjQueryにくっつけようとするのですか?
jQueryに依存しないもの(エスケープコードのどこでjQueryを使っていますか?)を、
jQueryに依存させるのはモジュール化とは正反対の考え方です。
モジュール化するというならば、なおさらjQueryプラグインにするべきではありません。
812 = :
おまいらはこういう厨房に10年後20年後にあごで使われるんだよwwwwwwwwwwwwwwwwwww
813 = :
自前でモジュール化すると、モジュール管理のフレームワークなりガイドラインなりが必要になりますよね
そういうのを考えるのが面倒だからです
デメリットがあるのは分かりますが、
もはや使わない方が珍しいjQueryのプラグインにしておくのは実用的かつ現実的な解かと
814 = :
>>812
あなたはクビです
815 = :
お前の上司はこんな奴でも勤まるのか
変な会社で働くことになって可哀相だな
早く転職しろ
816 = :
>>815
あなたはお茶くみ係です
817 = :
>>813
ガイドライン?
なんでそんなに複雑に考えてるの?
一体どんなガイドラインが必要なのさ。
jQueryを使わないでモジュール化したとして、
お前はどんなガイドラインを作るのか言ってみろ。
本当はモジュール化もガイドラインも
作ったこと無いんだろう?
818 = :
>>813
あんたがやってるのは典型的な例だから
どういう行為か教えてあげるよ。
新しい技術を知った時、
全てそれでやってしまう行為
よくいるんだよね。
配列を知った人が、全部配列を使って作ろうとしたり
継承を知った人が何でも継承で作ろうとしたりね。
まあ、よくあることだから恥ずかしくないよ。
将来成長したら、あの時やっていたことは
恥ずかしい事だったって思うだけだからw
819 = :
>>806
これが動かないのでおかしいと思ったら
replaceAllは拡張された関数なんですね
中身は結構複雑な正規表現なので、正規表現オブジェクトをキャッシュするようにしたらもっと速くなるかも
820 = :
デメリットがあっても大したことないからjqeuryプラグインにしてるんですよ
困ったら困った時点で変更すればいいでしょう
そんなにめくじら立てることではありません
821 = :
|:::::::::::::::
∧_∧::::::::::::
__ (´・ω・`) :::::::: すみません、ここでうんこしていいですか?
◎ー) / \:::::::::
| | (⌒) (⌒二 )::::::::::::
~~~ /⌒ヽ( ̄、 ヽ___
/ Lヽ \ノ___
゙ー―――(__)---
824 = :
>>820
君はプロじゃないね。
メリットがなくて、デメリットが有る。
それは明白。
なのに、技術不足で、jQueryプラグインにしか出来ない。
それを他人のせいにする。俺はわかるけど他人が~と言いつつ
お前の技術不足。
830 = :
(function ($){
if ( $.escapeHTML ) { throw 'already exists';}
function escapeHTML(str){
escapeHTML.text.nodeValue = str;
return escapeHTML.div.innerHTML;
}
escapeHTML.div = document.createElement('div');
escapeHTML.text = document.createTextNode();
escapeHTML.div.appendChild(escapeHTML.text);
$.escapeHTML = escapeHTML;
}(jQuery));
replaceAllはプロトタイプに追加するのに抵抗があり、
DOMを使う方法も速いようなので以上のようにしました
速度的なチューンもこれが限界だと思いますが、もっと改善できるところありますか?
831 = :
DOMは遅いので使わない。
jQueryは意味が無いので使わない。
832 = :
どんどん悪化してるなw
833 = :
DOMは遅いって単なる思い込みでは?
jsperfの結果見てから言って下さい
そもそも正規表現も遅いんです
834 = :
いやDOMアクセスはたしかに遅いですが
この場合他の方法よりも速いんです
836 :
このスレの解答者は馬鹿しかいないから聞くだけ無駄
837 = :
>>833
あはは。お前恥ずかしくないの?w
839 = :
うん。>>835の結果でも
DOMは遅いって出てる。
いやはや、シンプルが一番ベスト
素人は無意味に難しくして
糞なコードを書くという
典型的な例だ。
840 = :
>>835
それでは遅いですね
正規表現版は置換する文字が足りないし、
DOM版はキャッシュしてないので改善する余地がありますが
一考の余地はありますね
ありがとうございました
841 = :
だから最初から言ってるだろ。
DOMは遅いので使わない。
jQueryは意味が無いので使わない。
アドバイスしてやったんだから
ちゃんと話し聞けや。
お前よりアドバイスできる俺のほうが
技術的に上なんだから。
842 = :
http://jsperf.com/htmlencoderegex/30
使い方が間違っているといいますが
別に自分で検証したわけでなはく、根拠はこれです
DOMを使う.nodeValueがfastestになっています
843 = 836 :
技術的に上なんだから(キリッ
844 = 836 :
このスレは質問者も低脳だな
846 = :
もしかしてHTMLエスケープで’や"や\をエスケープする必要ってないのでしょうか?
DOM法ではこれらの文字はエスケープされないし。
jsperfで<.>,&以外をエスケープする処理とDOM法を並べて比較してるのはおかしいですね・・
847 = :
とりあえずエスケープされる文字を意思的にコントロールできないDOM法はあまりいい方法ではないですね
848 = :
そもそもHTMLエスケープなんてjqueryが標準でもっておくべきだと思うのですが
何故ないのでしょうか
849 = :
http://jsperf.com/htmlescapejquery/2
domでキャッシュ効かせるようにしても、firefox以外は正規表現が速かったです
特にIEではDOMが激遅でした
850 = :
おいおいこいつの日記帳になっとるがな
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.127 + (1001) - [97%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.127 + (160) - [97%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.126 + (952) - [95%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
トップメニューへ / →のくす牧場書庫について