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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    152 : Name_Not - 2013/09/23(月) 14:57:24.00 ID:??? (+78,+29,-36)
    >>149
    その話がなんの話か具体的に言ってくれ
    まさかJITがなんたらかんたらって勘違いしたネタじゃないだろうけど
    153 : Name_Not - 2013/09/23(月) 15:15:22.00 ID:??? (-2,-30,-40)
    var state = INIT;
    if (already_init) state = PROC;

    こういう時は別にいいよね?
    154 : Name_Not - 2013/09/23(月) 15:29:27.87 ID:0ZAG49Mx (+42,+28,-43)
    >>150
    速い遅いのは無しなんかしていない。

    >>152
    再代入でぐぐったという証拠に
    検索結果のトップ5つのタイトルを
    ここにコピペしてくれ
    155 : Name_Not - 2013/09/23(月) 15:35:00.90 ID:??? (+57,+29,-4)
    何かを他人に伝える場合は自分の言葉ではっきりと伝えましょう
    156 : Name_Not - 2013/09/23(月) 15:39:01.12 ID:??? (+64,+29,-5)
    >>154
    お前がぐぐった内容を盾に話がしたいならそれをここに張ればいい
    157 : Name_Not - 2013/09/23(月) 15:40:07.31 ID:0ZAG49Mx (+0,+21,-15)
    >>156
    再代入の話をしたいだけだけど?
    158 : Name_Not - 2013/09/23(月) 15:41:15.62 ID:??? (+57,+29,-4)
    お前が主張したことをここ書けばいいよ
    160 : Name_Not - 2013/09/23(月) 15:54:29.16 ID:??? (+27,+0,-50)
    再代入でぐぐった記事やスライドにJavaScriptで再代入を使いたくない根本的に納得できる理由はなかったけど
    161 : Name_Not - 2013/09/23(月) 15:57:34.71 ID:??? (+57,+29,-28)
    ほんとにプログラム板から移民してきちゃったんだなあ
    ここは質問用スレッドなんで、突っ込んだ議論をしたいならプログラム板に帰ってやってくれ
    162 : Name_Not - 2013/09/23(月) 15:58:53.27 ID:??? (+30,+2,-19)
    再代入が嫌なら関数型言語だけ使っとけば良いよ
    163 : Name_Not - 2013/09/23(月) 17:22:55.72 ID:??? (+29,-30,-176)
    同じnameのradioボタン5つに対してチェックが変わったらイベントを起こしたいのですが、

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

    今こんな感じにしています。
    lengthが大きくなるほど何かが間違ってる気がしてならないのですが、
    こんなのでいいのでしょうか?
    なんかもっといい書き方があったらどんな感じにするのか教えてください。
    164 : Name_Not - 2013/09/23(月) 17:25:37.13 ID:??? (+32,-30,-24)
    $.(document).on('click', "セレクタ", function(){func()}
    165 : Name_Not - 2013/09/23(月) 20:25:23.30 ID:GLYpuDbM (-15,+29,-166)
    どうもJSLintのサイトと同じような形式で
    eclipseの問題ビューに一覧表示されるとばかり思ってたら、
    各コード行の先頭に警告風のアイコンが表示されるっぽい。
    アイコンにマウスを乗せるとツールチップで内容が表示される。
    マニュアルと違う・・・というか見にくい・・・ツールチップ小さいし。
    考えようによっては、わかりきったメッセージが繰り返し並ぶより
    親切とも言えるんだろーか。

    このプラグイン↓
    http://www.htmlhifive.com/conts/web/view/tools/eclipse-jslint-plugin

    とはいえ、ひとまず解決ということで
    166 : Name_Not - 2013/09/23(月) 20:28:34.54 ID:??? (+125,+29,-49)
    >>42の件についてですが、配列の連結を非破壊的/破壊的で計測したところ、
    破壊的連結の方が圧倒的に速かったです
    http://jsperf.com/concat-vs-apply-push1
    オブジェクトの新規生成はそれほどコストが高いということでしょうか
    ありがとうございました
    167 : Name_Not - 2013/09/23(月) 20:41:09.69 ID:??? (+3,-30,-213)
    以前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 : Name_Not - 2013/09/23(月) 20:54:30.00 ID:??? (+48,-30,-42)
    >>166
    concatさんの方は代入まで行ってるからそこまで遅いんだろ。

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

    処理内容だけを公平に比較するならこう。
    169 : Name_Not - 2013/09/23(月) 21:00:03.87 ID:??? (+36,-30,-37)
    function a(){
    }

    function b(){
    }

    function c(){
    }

    じゃだめなんですか?
    thisとかconstructorとかapllyとか訳わかんないやつ使うメリットはなんですか?
    170 : Name_Not - 2013/09/23(月) 21:06:05.02 ID:??? (+98,+29,-6)
    >>168
    最終的にaに連結した配列が入っていて欲しいのだから
    それでは正確にはなりません
    171 : Name_Not - 2013/09/23(月) 21:08:21.15 ID:??? (+62,+29,-2)
    >>169
    それで困らないプログラムを書いてるならそれでいい
    172 : Name_Not - 2013/09/23(月) 21:11:49.53 ID:??? (+71,+29,-5)
    >>170
    > 破壊的連結の方が圧倒的に速かったです

    この結論がおかしい。
    173 : Name_Not - 2013/09/23(月) 21:17:28.73 ID:??? (+57,+29,-12)
    目的ベースではなく処理単位ベースでの比較とすると
    確かにおかしいかもしれませんが
    現実的には有意味です
    174 : Name_Not - 2013/09/23(月) 21:21:07.65 ID:??? (+39,+11,-5)
    jsperf落ちてたと思ったら
    全てのテストがふっとんだ?
    175 : Name_Not - 2013/09/23(月) 21:21:18.37 ID:??? (+62,+29,-24)
    > オブジェクトの新規生成はそれほどコストが高いということでしょうか

    ベンチ内容と結論が全く結びついてないんだけどね
    176 : Name_Not - 2013/09/23(月) 21:22:28.90 ID:??? (-1,-29,-4)
    push.applyはスタックをクソ消費するからNG
    177 : Name_Not - 2013/09/23(月) 21:24:53.07 ID:??? (+44,-28,-33)
    >>175
    concatではオブジェクトが新規作成されますよ
    非破壊的メソッドとはそのようなものです
    178 : Name_Not - 2013/09/23(月) 21:33:49.41 ID:??? (+113,+29,-61)
    >>177
    意味不明…。

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

    この結論は、>>166の比較で concat のコストが高い理由が、
    まるでオブジェクトの新規生成のみが原因とでも言ってる様なんだけど。
    公平な比較もできてないのに。
    179 : Name_Not - 2013/09/23(月) 22:05:32.33 ID:??? (+78,+20,+0)
    どなたかぁ~>>163お願いします
    180 : Name_Not - 2013/09/23(月) 22:15:00.80 ID:??? (+82,+29,-134)
    >>178
    代入が遅いと思い込んでいるようですが、代入=名前へのバインドのコストなど、
    オブジェクトの新規作成と比べたらごくごく微々たるものですよ
    http://jsperf.com/dainyuu
    このように代入が一つだろうが二つだろうが差はないのです
    むろん差はありますが、ベンチマークの処理に飲み込まれてしまうほどその差は小さいのです
    これが事実です
    181 : Name_Not - 2013/09/23(月) 22:20:48.00 ID:??? (+95,+30,+0)
    182 : Name_Not - 2013/09/23(月) 22:26:36.46 ID:??? (+73,+29,-51)
    >>181
    jQueryは使ったことないのですが、これはjQueryですよね?
    具体的にセレクタって何をさせばいいんですか?
    183 : Name_Not - 2013/09/23(月) 22:28:23.32 ID:??? (-2,-30,-25)
    if ( ['a','b','c'].indexOf(a) < 0 ){}

    このような命令をループの中で実行する場合、
    ループのたびに配列は別に作成されるのでしょうか?
    184 : Name_Not - 2013/09/23(月) 22:32:22.27 ID:??? (+56,-30,-31)
    >>180
    で、以下の 2つで比較しない訳は?

    a.concat(b);
    Array.prototype.push.apply(a, b);
    185 : Name_Not - 2013/09/23(月) 22:36:03.14 ID:??? (+62,+29,-8)
    >>184
    面倒くさいからです
    気になるなら比較してみたらどうですか?
    186 : 184 - 2013/09/23(月) 22:44:15.57 ID:??? (+52,+29,-3)
    いや、勘違いしてるのは俺の方だな。
    187 : Name_Not - 2013/09/23(月) 23:09:37.26 ID:??? (+41,-29,-75)
    >>182
    <a>
    <b>
    </a>
    だったら"a>b"がセレクタ
    jqueryでああかいとけばわざわざradioをオブジェクトを入れなくてもいいし、radioを増やそうが減らそうがコードはあのままでおk
    188 : Name_Not - 2013/09/23(月) 23:10:44.20 ID:??? (+55,+27,-2)
    とにかくJavaScripterなら読むべき本をあるだけ教えて
    189 : Name_Not - 2013/09/23(月) 23:14:24.82 ID:??? (+63,+29,-19)
    >>187
    おお!それはすごい
    早速やってみます!
    どうもご丁寧にありがとうございました
    190 : Name_Not - 2013/09/23(月) 23:24:05.70 ID:??? (+5,-29,+0)
    >>184
    push.applyはスタック大食らいだからNG
    http://code.google.com/p/v8/issues/detail?id=2896
    191 : Name_Not - 2013/09/23(月) 23:25:19.24 ID:??? (-1,-29,-21)
    オライリーJavaScript第六版
    オライリーJavaScript Good Parts
    オライリー ハイパフォーマンスJavaScript
    オライリー メンテナブルJavaScript
    192 : Name_Not - 2013/09/23(月) 23:27:28.37 ID:??? (-1,-29,+1)
    O'Reilly以外には良本ないの!?
    193 : Name_Not - 2013/09/23(月) 23:30:40.09 ID:??? (+156,+28,-21)
    例えばこういう情報ってES5習得に必須だけど
    オライリーの本には載ってるの?
    http://constellation.hatenablog.com/entry/20101205/1291564928
    194 : Name_Not - 2013/09/23(月) 23:34:13.69 ID:??? (+30,+2,-13)
    JavaScript第六版に載ってるよ
    195 : Name_Not - 2013/09/23(月) 23:40:35.12 ID:??? (+57,+29,-7)
    いや、MDNレベルでしか乗ってなかったからあえて皮肉で言ってるんだけど……
    196 : Name_Not - 2013/09/24(火) 00:10:12.24 ID:??? (+57,+29,-28)
    俺はMDN読んでもいまいちよく分からんなぁと思ったけど、サイ本読んだら分かったけどね
    そもそもさほどインパクトのある機能でもないと思う
    197 : Name_Not - 2013/09/24(火) 00:14:53.99 ID:??? (+28,-29,-77)
    esprima&escodegenで関数中のvarを集めて関数の頭に持ってくるスクリプトが形になりました
    varの散在したコードが一瞬でスマートになってかなりいい感じです
    ただesprimaはコメントを文法ツリーと分けたデータにしていて
    文法ツリーの書き換えをした場合、コメントの位置情報を修正するのが困難です
    コメントも文法ツリーに入れていてくれれば楽だったのに。
    どうすればいいですか?
    198 : Name_Not - 2013/09/24(火) 00:15:29.19 ID:??? (+57,+29,-39)
    インパクトはないかもしれないがES5の数少ない機能の内の御三家だし、
    ES5が下地になるES6やその先のためにも、この概念は中級者の必須項目として理解しておきたい
    199 : Name_Not - 2013/09/24(火) 00:16:12.31 ID:??? (+64,+29,+0)
    ES8ってなにもうそんな話がでてたよ
    200 : Name_Not - 2013/09/24(火) 00:24:25.25 ID:9UbBiTed (+71,+29,+1)
    >>193
    いい加減宣伝やめてくれ。
    うざいんだよ。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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