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

    私的良スレ書庫

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

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

    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
    301 : Name_Not - 2014/05/11(日) 00:01:59.17 ID:??? (+38,-29,-17)
    >>299
    Underscoreよりも先ってことは
    先行って考えてあってるよ。

    そこに書いてある機能は
    JavaScritにない機能だから
    302 : 284 - 2014/05/11(日) 00:12:37.28 ID:??? (+3,-30,-239)
    >>301
    どうも私の意図が期待通りに伝わっていないように見受けられます。
    私が意図するのは Lo-Dash が ECMAScript の先行仕様となった機能です。
    つまり、ECMAScript が定義される前に Lo-Dash がその関数を定義したことを証明しなければなりません。
    例えば、ES5 の Array.prototype.forEash は Lo-Dash にもありますが、ES5 が定義されてから Lo-Dash で実装されたのならそれは Lo-Dash が先行したとはいいません。
    ES5 ないし ES6 と同じ関数が Lo-Dash にあるだけでは Lo-Dash が先行したことにはならないのです。
    お分かり頂けますでしょうか。

    > そこに書いてある機能はJavaScritにない機能だから
    JavaScript という仕様はありませんが、何を指すのでしょうか。
    303 : Name_Not - 2014/05/11(日) 00:17:32.01 ID:??? (+57,+29,-7)
    疑問に託けて荒らし弄って遊ぶのも良くないと思うの
    304 : Name_Not - 2014/05/11(日) 00:35:24.69 ID:??? (+56,-30,-122)
    setTimeout( function(){
    ~処理~
    }.apply(this), 10);
    //}.call(this), 10);
    //}.bind(this), 10);
    settimeoutの中ではthisにグローバルがセットされてしまうから
    対策として、apply、call、bindのどれかを使おうと考えているのですが、
    どれを使えばいいでしょうか?
    この3つのメソッドって違いがよくわかりません。
    305 : Name_Not - 2014/05/11(日) 00:56:10.02 ID:??? (+73,+30,-119)
    >>1-5のテンプレ更新した
    http://jsfiddle.net/fH4cC/32/show/

    >>209,211
    反映した

    >>212-214
    反対意見があるようなので様子見
    提案リストにあがっている
    「質問の消化を最優先に。議論や雑談は禁止じゃないけど流れを見極めて。(※元は質問の体をしていても質問者を置き去りにして住人同士で議論や雑談になってきたときに冷静さを取り戻すためにも。自主的に我に返れなくても冷静な人に気付かせてもらうためにも。)」
    は一考の余地があるかもしれないが、暫定保留
    306 : Name_Not - 2014/05/11(日) 01:15:23.28 ID:??? (-1,-29,-33)
    lodashのデメリットはbackboneには使えないことかな?
    と思ったけどbackboneでも使えるんだ
    http://lodash.com/custom-builds
    それならunderscoreを使う理由はないね
    307 : Name_Not - 2014/05/11(日) 01:18:27.66 ID:??? (+62,+29,-53)
    >>304
    感覚的にはbindだが、背景が不明な状況で確かな事はいえない
    3つの違いを理解できるまで使いこなしてから決めるのが最善だと思う
    308 : Name_Not - 2014/05/11(日) 01:38:14.03 ID:??? (+3,-30,-57)
    call=thisを指定して関数呼び出し出来る。引数を列挙させなくてはいけない。ES3でも可
    apply=thisを指定して関数呼び出し出来る。引数を配列で渡せる。ES3でも可
    bind=thisを指定する別の関数を生成。ES5以降

    bindはコールバック関数を作る時に使う。ES3対応させたいならlodashを使えばいい。
    309 : Name_Not - 2014/05/11(日) 03:23:40.17 ID:??? (+41,+13,-18)
    これはひどい。もうlodashをNGに入れざるをえないな。。。
    310 : Name_Not - 2014/05/11(日) 04:13:40.31 ID:??? (+57,+29,-22)
    勝手にそうしとけよw
    アンチlodashの原始人どもは邪魔なだけだから
    311 : Name_Not - 2014/05/11(日) 04:32:03.08 ID:??? (+15,-13,+1)
    >>304
    bind
    312 : Name_Not - 2014/05/11(日) 04:35:18.09 ID:??? (+2,-29,-43)
    document.getElementByIdを
    jqueryでするのはどうやればいいですか?
    313 : Name_Not - 2014/05/11(日) 05:05:59.97 ID:??? (-1,-30,-61)
    >>312

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>GGRKS</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    </head>
    <body>
    <script>
    $(function(){ window.open('http://www.google.co.jp/search?q=jquery+getelementbyid'); });
    </script>
    </body>
    </html>
    314 : Name_Not - 2014/05/11(日) 05:24:53.57 ID:??? (+28,+5,+1)
    ありがとうございました
    315 : Name_Not - 2014/05/11(日) 05:29:31.12 ID:??? (+87,-30,-48)
    あるid要素の有無を知りたい時には
    $('#'+id).length
    を調べるのが普通ですか?
    316 : Name_Not - 2014/05/11(日) 06:05:11.49 ID:??? (+12,-11,+0)
    >>315
    いいえ。#は不要です。
    317 : Name_Not - 2014/05/11(日) 06:19:48.09 ID:??? (+74,-29,-9)
    testというidの要素を示すセレクターは
    #test
    ですよね?
    318 : Name_Not - 2014/05/11(日) 06:47:20.09 ID:??? (+90,+29,-3)
    >>317
    そうですね。それは「id要素」ではありませんが。
    319 : Name_Not - 2014/05/11(日) 08:28:20.00 ID:??? (-1,-29,-2)
    bindはIE9移行じゃないと使えない。
    320 : Name_Not - 2014/05/11(日) 08:45:20.36 ID:??? (-6,-29,-25)
    lodashなら使えるよ
    321 : Name_Not - 2014/05/11(日) 09:02:54.40 ID:??? (+86,+29,-12)
    素朴な疑問だけど、将来的にthisが呼び出し元に依存しないようになることってありえるのかな・・・?
    322 : Name_Not - 2014/05/11(日) 09:18:18.66 ID:??? (+3,-30,-53)
    アロー関数いいよね。

    たとえばこんなコード(配列の各要素を3倍した配列を返す)が

    _.map([1, 2, 3], function(num) { return num * 3; });

    たったのこれだけになる。
    _.map([1, 2, 3], num => num * 3);
    324 : 304 - 2014/05/11(日) 09:28:44.12 ID:??? (+3,-30,-258)
    みなさまありがとうございます。
    bindを使ってみます。
    bindは、goodpatrsに定義の仕方が載っていたので、
    使えないブラウザ向けに使おうと考えてます。
    lodashは今度調べます。

    また、以前質問しました
    var obokata={};
    obokata.value="捏造";
    obokata.stap=(function(){alert(this.value)});
    obokata.stap();//捏造
    obokata.stap2=(function(){alert(this.value)})();//undefined

    メソッドを即時実行関数式にした場合は、callを使うのがベストなのでしょうか?
    obokata.stap2=(function(){alert(this.value)}).call(obokata); //捏造
    325 : Name_Not - 2014/05/11(日) 10:03:29.25 ID:??? (+12,+29,-42)
    ゲーム制作などのサンプルコードをみていると
    まるでパラパラ漫画のように一旦全ての要素を削除後、一から要素を構築というコードが多いのですが
    要素を使いまわすことに何かデメリットでもあるのでしょうか?
    326 : Name_Not - 2014/05/11(日) 11:19:35.05 ID:??? (+60,+29,-130)
    >>325
    そのサンプルコードが糞なだけじゃない?

    デスクトップアプリ、一般のゲームアプリでは全部消してから
    再描画するのは、ごく普通のやり方。

    でもそれをDOMの世界に持ち込んでもだめだろう。
    WebGLとかを使うなら、全部消して再描画でいいけどね。

    たんにDOMを使ったゲーム作成に最適化されてないだけかと。
    327 : Name_Not - 2014/05/11(日) 13:25:38.30 ID:??? (+93,+24,-2)
    >>318
    「id要素」とは何?
    328 : Name_Not - 2014/05/11(日) 13:40:27.42 ID:??? (+91,+29,-33)
    JavaScriptは最初から関数が第一級オブジェクトの先鋭的な関数型プログラムができる言語と言える
    ライブラリ使わなきゃ無理な訳じゃない
    329 : Name_Not - 2014/05/11(日) 13:41:34.04 ID:??? (+0,-28,-4)
    >>325
    そのゲームは2Dか3Dのどっち?
    330 : Name_Not - 2014/05/11(日) 13:45:28.06 ID:??? (+103,+29,-5)
    >>292>>293
    簡単なようで難しい問題だったんですか。プログラミングってのは難しいですな
    331 : Name_Not - 2014/05/11(日) 14:08:24.52 ID:??? (+70,+29,-40)
    >>328
    いや、JavaScriptが関数型プログラムができる言語だから
    関数型プログラミングに適したライブラリが出来たわけ。
    このライブラリがなければ、自力実装しなきゃいけないよ?
    332 : Name_Not - 2014/05/11(日) 14:09:01.77 ID:??? (+57,+29,-6)
    ライブラリなんていらないだろ。
    全部自分で作ればいいだけ。
    333 : Name_Not - 2014/05/11(日) 14:10:38.08 ID:??? (+31,-29,-16)
    というか、if(!hoge && hoge!=0)が成立するのって何?
    334 : Name_Not - 2014/05/11(日) 14:12:30.11 ID:??? (+30,-29,-12)
    面倒くさい書き方をするな。

    if (hoge || hoge==0) でいいだろ
    335 : Name_Not - 2014/05/11(日) 14:18:19.10 ID:??? (+98,+28,-3)
    あ、割り込まれた
    >>333>>330
    336 : Name_Not - 2014/05/11(日) 15:53:30.89 ID:??? (+19,-22,-20)
    >>274
    古いブラウザでも、動くんだろう
    新しいブラウザなら、そのブラウザにあるforEachを使う

    バグを減らして、開発コストを抑えるのが、目的
    337 : Name_Not - 2014/05/11(日) 17:04:55.19 ID:??? (+66,+24,-2)
    >>335
    レスアンカーつけるようにするといいよ
    338 : Name_Not - 2014/05/11(日) 18:51:55.13 ID:??? (+60,+27,-8)
    数値で、なおかつ0より上ってことだろ?
    だから>>334はおかしい
    339 : Name_Not - 2014/05/11(日) 18:54:20.41 ID:??? (-1,-29,-7)
    if (_.isNumber(val) && val > 0)
    これでいいじゃん
    341 : Name_Not - 2014/05/11(日) 20:16:04.17 ID:??? (-2,-30,-13)
    var a = true;
    console.log((a>0));

    これでもtrueになるから
    342 : Name_Not - 2014/05/11(日) 21:22:56.27 ID:??? (-21,-30,+0)
    ライブドアブログで記事をランダムに表示させています。
    トップページからその機能を使うと問題ありませんが、個別記事ページからランダムで表示しようとすると
    別のリンクに飛んでしまいます。 このようなものをライブドアブログのブログパーツのうちフリーエリアに追加しています。

    <script type="text/javascript">
    var article = new Array();
    article[0] = "表示させたいページのURL";
    article[1] = "表示させたいページのURL";
    article[2] = "表示させたいページのURL";
    article[3] = "表示させたいページのURL";
    article[4] = "表示させたいページのURL";
    article[5] = "表示させたいページのURL";
    n = Math.floor(Math.random()*article.length);
    document.write("<a href='"+article[n]+"'>");
    </script>
    <img src="表示させたい画像のURL" alt="ランダム記事" border="0">


    参考にしたのは以下のリンクからです。
    http://blog.livedoor.jp/kimagure_ryu/archives/1545845.html


    トップページからサイドカラムにあるランダム表示ボタンを押すと、
    設定してある記事のURLのうちランダムで記事を表示してくれます。

    しかし、その後ランダムで表示された記事から、もう一度ランダム表示ボタンを押すと
    設定していないURLに飛んでしまいます。
    404 NOT FOUNDというページに飛んでしまいます。


    ランダムで記事を表示するには一度トップページに戻ってから再度ボタンを押さなければランダムで表示することが出来ない状態を解消したいのですが、方法がわかりません。
    設定してあるURLはすべて確認しましたので、間違いないはずです。
    343 : Name_Not - 2014/05/11(日) 21:54:31.51 ID:??? (+29,+0,-2)
    >>342
    URLが相対指定だったりしない?
    344 : Name_Not - 2014/05/11(日) 22:02:33.40 ID:??? (+32,-30,-284)
    >>342
    とりあえず、素人サイトを参考にするな。気持ち悪いコードだ。

    まず、 new Array(); は使わない。そして配列への代入は一気にやれ。
    必要ないのにインデックス番号を書くな。変数名は複数形にしろ。

    更に推奨で、HTML5ならtype属性はもう要らない。
    グローバル変数nを使うな。aタグが閉じられていない。

    borderはスタイルシートで消せ

    <style>
    img { border: none }
    </style>
    <script>
    var articles = [
     "表示させたいページのURL",
     "表示させたいページのURL",
     "表示させたいページのURL",
     "表示させたいページのURL",
     "表示させたいページのURL",
     "表示させたいページのURL",
    ];
    var n = Math.floor(Math.random() * articles.length);
    document.write("<a href='"+article[n]+"'><img src='表示させたい画像のURL' alt='ランダム記事'></a>");
    </script>
    345 : Name_Not - 2014/05/11(日) 22:09:48.66 ID:??? (+29,-30,-266)
    おっと、このままじゃarticlesもnもグローバルだったなw
    さてここからはjQueryとlodashを使おう。

    <style>
    img { border: none }
    </style>
    <script>
    $(function() {
     var articles = [
      "表示させたいページのURL",
      "表示させたいページのURL",
      "表示させたいページのURL",
      "表示させたいページのURL",
      "表示させたいページのURL",
      "表示させたいページのURL",
     ];
     $('#random-url').attr('href', articles[_.random(articles.length)]);
    });
    </script>

    <a id="random-url"><img src='表示させたい画像のURL' alt='ランダム記事'></a>
    346 : Name_Not - 2014/05/11(日) 22:27:50.67 ID:??? (-1,-29,-30)
    なんでaタグ内はダブルクォーテーションなのにimgタグ内はシングルクォーテーションなのですか
    347 : Name_Not - 2014/05/11(日) 22:35:58.55 ID:??? (+57,+29,-15)
    エスケープすんのがめんどくせーからだろ
    348 : Name_Not - 2014/05/11(日) 23:34:28.08 ID:??? (+0,-28,-15)
    下のAタグはbodyタグ内のやつじゃないの?
    あとこんな短いコードに二つもライブラリ
    必要?
    349 : Name_Not - 2014/05/11(日) 23:39:51.27 ID:??? (+39,+16,-1)
    なにそれマジレス?
    350 : Name_Not - 2014/05/11(日) 23:39:53.02 ID:??? (+139,+29,-1)
    >>327
    >>315に聞いて下さい。
    言葉通りに受け取るならタイプセレクタを使います。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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