のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,063,086人
昨日: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

    152 = :

    >>149
    その話がなんの話か具体的に言ってくれ
    まさかJITがなんたらかんたらって勘違いしたネタじゃないだろうけど

    154 :

    >>150
    速い遅いのは無しなんかしていない。

    >>152
    再代入でぐぐったという証拠に
    検索結果のトップ5つのタイトルを
    ここにコピペしてくれ

    155 = :

    何かを他人に伝える場合は自分の言葉ではっきりと伝えましょう

    156 = :

    >>154
    お前がぐぐった内容を盾に話がしたいならそれをここに張ればいい

    157 = 154 :

    >>156
    再代入の話をしたいだけだけど?

    158 = :

    お前が主張したことをここ書けばいいよ

    160 = :

    再代入でぐぐった記事やスライドにJavaScriptで再代入を使いたくない根本的に納得できる理由はなかったけど

    161 = :

    ほんとにプログラム板から移民してきちゃったんだなあ
    ここは質問用スレッドなんで、突っ込んだ議論をしたいならプログラム板に帰ってやってくれ

    162 = :

    再代入が嫌なら関数型言語だけ使っとけば良いよ

    163 = :

    同じnameのradioボタン5つに対してチェックが変わったらイベントを起こしたいのですが、

    for (var i = 0; i < radio.length; i++) { //radio.length=5
     radio[i].addEventListener('click', func, false);
    }

    今こんな感じにしています。
    lengthが大きくなるほど何かが間違ってる気がしてならないのですが、
    こんなのでいいのでしょうか?
    なんかもっといい書き方があったらどんな感じにするのか教えてください。

    164 = :

    $.(document).on('click', "セレクタ", function(){func()}

    166 = :

    >>42の件についてですが、配列の連結を非破壊的/破壊的で計測したところ、
    破壊的連結の方が圧倒的に速かったです
    http://jsperf.com/concat-vs-apply-push1
    オブジェクトの新規生成はそれほどコストが高いということでしょうか
    ありがとうございました

    167 = :

    以前prototype.constructorなんて使ってる人いるの?と書いた者ですが、
    stackoverflowに以下のようなオブジェクトのcloneをするコードがありました

    function clone(obj){
    if(obj == null || typeof(obj) != 'object')
    return obj;

    var temp = obj.constructor(); // changed

    for(var key in obj)
    temp[key] = clone(obj[key]);
    return temp;
    }

    obj.constructorで呼び出されるのってprototype.constructorですよね
    つまり使われるが正解でした
    ありがとうございました

    168 = :

    >>166
    concatさんの方は代入まで行ってるからそこまで遅いんだろ。

    a.concat(b);
    Array.prototype.push.apply(a, b);

    処理内容だけを公平に比較するならこう。

    169 = :

    function a(){
    }

    function b(){
    }

    function c(){
    }

    じゃだめなんですか?
    thisとかconstructorとかapllyとか訳わかんないやつ使うメリットはなんですか?

    170 = :

    >>168
    最終的にaに連結した配列が入っていて欲しいのだから
    それでは正確にはなりません

    171 = :

    >>169
    それで困らないプログラムを書いてるならそれでいい

    172 = :

    >>170
    > 破壊的連結の方が圧倒的に速かったです

    この結論がおかしい。

    173 = :

    目的ベースではなく処理単位ベースでの比較とすると
    確かにおかしいかもしれませんが
    現実的には有意味です

    174 = :

    jsperf落ちてたと思ったら
    全てのテストがふっとんだ?

    175 = :

    > オブジェクトの新規生成はそれほどコストが高いということでしょうか

    ベンチ内容と結論が全く結びついてないんだけどね

    177 = :

    >>175
    concatではオブジェクトが新規作成されますよ
    非破壊的メソッドとはそのようなものです

    178 = :

    >>177
    意味不明…。

    > オブジェクトの新規生成はそれほどコストが高いということでしょうか

    この結論は、>>166の比較で concat のコストが高い理由が、
    まるでオブジェクトの新規生成のみが原因とでも言ってる様なんだけど。
    公平な比較もできてないのに。

    179 = :

    どなたかぁ~>>163お願いします

    180 = :

    >>178
    代入が遅いと思い込んでいるようですが、代入=名前へのバインドのコストなど、
    オブジェクトの新規作成と比べたらごくごく微々たるものですよ
    http://jsperf.com/dainyuu
    このように代入が一つだろうが二つだろうが差はないのです
    むろん差はありますが、ベンチマークの処理に飲み込まれてしまうほどその差は小さいのです
    これが事実です

    181 = :

    >>179
    >>164

    182 = :

    >>181
    jQueryは使ったことないのですが、これはjQueryですよね?
    具体的にセレクタって何をさせばいいんですか?

    184 = :

    >>180
    で、以下の 2つで比較しない訳は?

    a.concat(b);
    Array.prototype.push.apply(a, b);

    185 = :

    >>184
    面倒くさいからです
    気になるなら比較してみたらどうですか?

    186 = :

    いや、勘違いしてるのは俺の方だな。

    187 = :

    >>182
    <a>
    <b>
    </a>
    だったら"a>b"がセレクタ
    jqueryでああかいとけばわざわざradioをオブジェクトを入れなくてもいいし、radioを増やそうが減らそうがコードはあのままでおk

    188 = :

    とにかくJavaScripterなら読むべき本をあるだけ教えて

    189 = :

    >>187
    おお!それはすごい
    早速やってみます!
    どうもご丁寧にありがとうございました

    190 = :

    >>184
    push.applyはスタック大食らいだからNG
    http://code.google.com/p/v8/issues/detail?id=2896

    193 = :

    例えばこういう情報ってES5習得に必須だけど
    オライリーの本には載ってるの?
    http://constellation.hatenablog.com/entry/20101205/1291564928

    194 = :

    JavaScript第六版に載ってるよ

    195 = :

    いや、MDNレベルでしか乗ってなかったからあえて皮肉で言ってるんだけど……

    196 = :

    俺はMDN読んでもいまいちよく分からんなぁと思ったけど、サイ本読んだら分かったけどね
    そもそもさほどインパクトのある機能でもないと思う

    197 = :

    esprima&escodegenで関数中のvarを集めて関数の頭に持ってくるスクリプトが形になりました
    varの散在したコードが一瞬でスマートになってかなりいい感じです
    ただesprimaはコメントを文法ツリーと分けたデータにしていて
    文法ツリーの書き換えをした場合、コメントの位置情報を修正するのが困難です
    コメントも文法ツリーに入れていてくれれば楽だったのに。
    どうすればいいですか?

    198 = :

    インパクトはないかもしれないがES5の数少ない機能の内の御三家だし、
    ES5が下地になるES6やその先のためにも、この概念は中級者の必須項目として理解しておきたい

    199 = :

    ES8ってなにもうそんな話がでてたよ

    200 :

    >>193
    いい加減宣伝やめてくれ。
    うざいんだよ。


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

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


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