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

    私的良スレ書庫

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

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

    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
    651 : Name_Not - 2012/12/20(木) 04:09:43.85 ID:??? (+48,+20,-52)
    コンパイラ言語使ってるとloop.lengthと中についつい書いてしまうな
    まぁパフォーマンスとか微々たるもんだけど
    652 : Name_Not - 2012/12/20(木) 10:52:23.26 ID:??? (+71,+29,-9)
    >>648
    ここJavaScriptのスレだし、他の言語の事情なんぞ知った事じゃない。
    653 : Name_Not - 2012/12/20(木) 11:54:42.00 ID:??? (+61,+29,-16)
    >>650
    一番わかりやすいんじゃないかな?違いが
    654 : Name_Not - 2012/12/20(木) 11:58:14.63 ID:??? (-29,-30,-53)
    javascriptのvarは他言語の変数宣言との違いを強調しとくべきだな。

    Cでこれはa=100になるが、
    int a=0;for(int i=0;i<10;i++) for(int i=0;i<10;i++) a++;

    javascriptのこれはa=10になる。
    var a=0;for(var i=0;i<10;i++) for(var i=0;i<10;i++) a++;
    655 : Name_Not - 2012/12/20(木) 11:59:54.99 ID:??? (+52,+29,+0)
    つまりどういうことだってばよ
    656 : Name_Not - 2012/12/20(木) 12:39:18.23 ID:??? (+36,+18,+0)
    イザナミだ
    657 : Name_Not - 2012/12/20(木) 12:42:03.74 ID:??? (+57,+29,-17)
    それ、変数じゃなくてスコープの問題なんじゃ…
    659 : Name_Not - 2012/12/20(木) 13:05:50.37 ID:CilJlPcf (-20,+29,-5)
    間違えました10です
    何を寝ぼけてんだ俺…
    660 : Name_Not - 2012/12/20(木) 13:06:54.03 ID:??? (-1,-29,-10)
    for(var i=0;i<10;i++) a++;
    これでaが9になるとか大丈夫?
    661 : Name_Not - 2012/12/20(木) 13:23:39.54 ID:CilJlPcf (-25,+29,+0)
    ごめんなさい
    ごめんなさい
    ごめんなさい
    662 : Name_Not - 2012/12/20(木) 14:14:47.89 ID:??? (+3,-30,-57)
    もう古いとか言われることもあるが、このforループの書き方は鉄板だよな
    for(i=0;i<n;i++) {...}
    i=0~(n-1)でn回実行、i=nになってループから出てくる。

    i=1から始めてるのとか、i<=nとかの条件式を見ると、
    これ何回回るんだ?とかちょっと考え込む。
    663 : Name_Not - 2012/12/20(木) 16:17:36.91 ID:??? (+51,+28,+0)
    何を言ってるんだ
    664 : Name_Not - 2012/12/20(木) 16:28:51.59 ID:??? (+52,+29,-1)
    どういうのが新しい書き方なんだ
    665 : Name_Not - 2012/12/20(木) 16:38:44.68 ID:??? (+23,-4,-23)
    イテレータ使えってことじゃないの?w
    JSだとちょっと使いにくいがw
    666 : Name_Not - 2012/12/20(木) 16:41:03.41 ID:??? (+57,+29,-18)
    イテレーター使えってまさか言わないよなと思ってたが
    670 : Name_Not - 2012/12/20(木) 22:12:32.45 ID:??? (+55,+27,-1)
    URLデコードすればいいんじゃね
    それ以上は何も言えん
    671 : Name_Not - 2012/12/20(木) 23:25:44.30 ID:??? (+57,+29,-44)
    広告の読み込み後に実行するよう書けばいいよ
    その前に広告を消しても大丈夫か規約を確認しとけ
    672 : Name_Not - 2012/12/21(金) 00:11:01.64 ID:??? (-19,-30,-208)
    すみません、getElementByIdで取得したものを変数に入れて
    その変数にメソッドつけて実行させるってできないんでしょうか?

    var newNode = document.createElement("div");
    newNode.setAttribute("id", "hoge");
    var hoge = document.getElementById("hoge");
    document.body.insertBefore(newNode, document.body.firstChild);
    var hogeText = '<p>ほげほげ</p>';
    hoge.innerHTML = hogeText;

    みたいにやると「hoge is null」ってエラーが出ます

    この先、div#hogeに対して色々とスタイルを付けるので
    hogeだけで呼べればラクだと思ったのですが、
    横着しないでdocument.getElementById("hoge")を何度も書くしかないのでしょうか?
    674 : Name_Not - 2012/12/21(金) 00:20:59.78 ID:06lRFr9k (-20,+29,-34)
    あと、メソッド付けれるのか、についてはyes
    ただ、そういう事するのを嫌う人もいることは覚えておくといいかも
    675 : 672 - 2012/12/21(金) 00:29:02.06 ID:??? (+52,+29,-40)
    >>673
    そうか、一度代入してるんだからそれを使い続ければいいんですよね
    気づきませんでした
    ありがとうございます!

    書き方のアドバイスも感謝です!
    677 : Name_Not - 2012/12/21(金) 12:50:32.36 ID:??? (+42,+24,-13)
    うぜぇ
    679 : Name_Not - 2012/12/21(金) 16:06:04.74 ID:??? (-25,-29,-11)
    >>676
    'a' 'b'
    というのは文字列が1個だと思う? 2個だと思う?
    681 : Name_Not - 2012/12/21(金) 20:26:16.88 ID:??? (-10,-29,-15)
    つまり、
    >>676
    の1行目にある 'function...
    という文字列は ...Element('
    で終わってしまい、その次にある SCRIPT というのは意味不明のゴミに
    なっているんでは、ということ。
    683 : Name_Not - 2012/12/22(土) 21:14:28.71 ID:??? (+74,-30,-157)
    すみません、サイ本の第6版の日本語訳で勉強しているのですが、
    何度読み直しても理解できないところがあるので
    教えて頂けないでしょうか?

    分からないのはp.268-269 9.9.1 名前空間としてのオブジェクトの部分です

    このページには、名前が衝突しないようにするために
    グローバル変数をひとつだけ定義して、
    その変数のプロパティたちに他の値を格納する方法が紹介されています

    で、p.269に
    var sets = com.davidflanagan.collections.sets;
    とあって、名前空間が長いときはこうやって短くできる的なことが書いてあるんですが、
    これはコードの他の部分で気付かずにまた
    var sets = hoge;
    ってやったら名前が衝突しないようにした工夫が台無しになりますよね?
    だったら短くしないようがいいじゃん、って思うのですが、
    私は何か運用の仕方とかで勘違いしてるんでしょうか?
    684 : Name_Not - 2012/12/22(土) 21:44:44.57 ID:??? (+96,+29,-68)
    >>683
    javascriptの変数のスコープを理解してるかな?
    ひとつの巨大な関数スコープ内ですべてをやろうとしない限り、問題にならないだろう。
    685 : Name_Not - 2012/12/22(土) 21:52:37.62 ID:??? (+78,+29,-25)
    >>684
    ありがとうございます

    >>683のページに書かれていることは参考にしなくても
    ローカル変数だけ使えば問題ない、ということなんでしょうか?
    686 : Name_Not - 2012/12/22(土) 22:12:11.26 ID:??? (+47,-30,-120)
    >>685
    var sets = com.davidflanagan.collections.sets が問題無いという意味。

    なぜなら、スコープ内でvar sets = com.davidflanagan.collections.setsや
    var sets = hogeをやる限りは、他のスコープにその影響は及ばないから。

    setsをcom.davidflanagan.collections.setsとして使いたい場合は、
    スコープ内でsetsを他の値に変更しないように気をつければよい。

    スコープを適度な大きさに保つ限りそれで問題無い。
    687 : Name_Not - 2012/12/22(土) 22:16:50.37 ID:??? (+64,+29,-8)
    >>686
    なるほど!
    なんか分かってきたような気がしてきました。
    ちょっと色々と試してみます。

    どうもありがとうございます。
    689 : Name_Not - 2012/12/23(日) 14:29:45.10 ID:??? (+3,-30,-258)
    google.maps.api v3を使ってて、
    対応するsubmitボタンを押すとgoogle.maps.event.trigger(marker,'click')で対応するマーカーにクリックイベントを送るようにしたいんですが
    どうすればいいのでしょうか?
    ↓のようにしたのですが出来ません。

    ・javascript
    function set_value(s_val){
    document.frmMvPost.onbtn.value = s_val;
    }

    function View(){
    var req_id = document.frmMvPost.onbtn.value;
    var tmp=0;
    for(var i in markersArray){
    if(markersArray[i].title == req_id){
    tmp = markersArray[i];
    }
    }
    google.maps.event.trigger(tmp,'click');
    }

    ・html
    <form name="frmMvPost" action="" method="post" onsubmit="return View()">
    <input type="submit" name="btn" value="表示" onClick="set_value('1')">
    <input type="hidden" name="onbtn">
    </form>
    690 : Name_Not - 2012/12/24(月) 14:09:09.13 ID:??? (+34,-30,-51)
    window.xxx = {
     get aaa() {

     },

     bbb: function() {
     },
    };
    getの書き方を初めてみたんですがどういった違いがあるのでしょうか?
    692 : Name_Not - 2012/12/24(月) 17:38:10.19 ID:jtf/MTPu (+22,+29,-114)
    >>688
    うーん、ちがう
    クォートのエスケープは超基礎的というか書き方の話なんで
    できればググってよそで学んで欲しいんだが
    どーーーーーーしても文字列で渡したいのなら、外側をシングル中をダブルにするか
    全部シングルで中はエスケープしてくだされ

    そんなことより、setTimeoutやsetIntervalは第一引数に関数を受け取れるんだから
    JavaScriptのコードをAjaxで文字列として受け取った、とかいう場合以外は
    それをわざわざ文字列にする必要はないっつーはなしです
    693 : Name_Not - 2012/12/24(月) 21:08:14.07 ID:??? (-1,-29,-50)
    setTimeout系の第一引数に文字列渡すと、実行するたびにいちいちevalするから遅くなるしな
    694 : Name_Not - 2012/12/24(月) 21:58:44.65 ID:??? (+51,+16,+0)
    >>691
    ありがとう!
    695 : Name_Not - 2012/12/25(火) 01:51:15.38 ID:??? (+57,+29,-16)
    あれは内部でevalしてんのか、勉強になるわ
    696 : Name_Not - 2012/12/25(火) 11:30:12.04 ID:??? (+48,+25,-14)
    厳密には eval と違うけど。
    697 : Name_Not - 2012/12/25(火) 17:45:58.06 ID:??? (-1,-29,-14)
    const使えるのってfirefoxだけなんだな
    698 : Name_Not - 2012/12/25(火) 19:59:22.44 ID:??? (-1,-29,-53)
    いつの間にかGoogle ChromeとOperaも対応してた
    Operaはまだvarの別名だったけど
    699 : Name_Not - 2012/12/25(火) 21:22:22.67 ID:??? (-1,-29,-50)
    ESのconstってブロックスコープなのか

    Google Chromeがstrict modeじゃ使えなかった
    700 : Name_Not - 2012/12/25(火) 23:24:00.69 ID:??? (-5,-23,+0)
    tes
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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