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

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

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

    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 = :

    おいおいこいつの日記帳になっとるがな


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

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


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