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

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

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

    606 = :

    prototype.jsを利用してクラスを作るとき、
    一つのメソッド内で同クラスの他のメソッドは呼び出せないのですか?
    他の言語、たとえばjavaなんかではできると思うのですが、prototype.jsの機能では不可能なのでしょうか?

    608 = :

    失礼しました。
    そちらで訊きます。

    609 = :

    >>605
    何か無理に即時関数を使おうとしている感じがするんだけど、これで十分じゃ?

    window.onload = function(){
        var elem = document.getElementById("test");
        var cnt = 0;
        document.getElementById("id_button").onclick = function(){
            alert(elem);
            cnt = cnt + 1;
            alert(cnt);
    }
    }

    それと
    window.onload = function(){

    };

    window.onload = function(){

    }
    で、最後のセミコロンは不要

    610 = :

    セミコロン省略してもメリットないよ。つけたほうがいいって

    611 = :

    イベントハンドラに無名関数つかう場合は必要ないな。
    jQuery等のライブラリが付けているから最近はマネして付ける人もいるが…。

    612 = :

    変数に無名関数を入れるときは必要なのか?

    614 = :

    >>609
    >>611
    手前の勝手なバッドプラクティス勧めてんじゃねーよ

    615 = :

    >>614
    頭の悪い煽りだなwww
    何が悪いのか言ってみろよ

    616 = :

    >>609
    >>611
    動けばいいという糞コードを書いてる馬鹿

    617 = :

    >>616
    人のコード見ると、そういうことぬかす奴多いんだよ。

    で、自分のコードがエレガントかというと、やっっぱ糞コードなんだよ。

    619 = :

    >>615
    window.onload = function () {
    }
    (function () { /* ... */ })();
    これ、どう動くと思う?
    onloadの関数にセミコロンがないから即時実行とくっついてエラーになる
    window.onload = (function(){})(function(){})();
    ってなるてことね。
    そのセミコロンは省略しちゃ駄目なセミコロンだよ
    ちなみに、当然↓なら問題ない
    function hoge() { /* ... */ }
    (function () { /* ... */ })();

    620 = :

    >>617
    お前の周りが糞なコードしか書けない自慢はしなくていいから。

    621 = :

    よかったやっぱり>>609>>611がおかしかったんだな

    622 = :

    自分で判断できないで言ってたのかよwww
    まじカスだわ

    623 = :

    「window.onload = function」でググってみたらほとんどがセミコロンが無かったが、
    セミコロンを記述しているサイトは皆jQuery関連だった。

    まあjQueryのようにまねしているのか、本当に意味が分かって使っているのかはわからんが、
    私は「window.onload = function() {}」に関しては付けない派だな。

    625 = :

    >>622
    この一連のレスの流れでそのレスはないわ。
    糞コード書く奴はやっぱ日本語も駄目だな。

    >>624
    jQuery のまね?
    セミコロンを省略しても多くの場合、問題なく動くというだけで、
    本来はセミコロンを置く場所なんだが。

    626 = :

    つけるのをサボる意味がまったくないな

    627 = :

    >>625
    お前は式と文の違いをぐぐってから出直せ
    いちいち反論が低脳なんだよ

    628 = :

    >>623 githubとかで有名なプロジェクトを見てみるといいよ。
    一般的な規則としてセミコロンは省略しないことが多い。

    629 = :

    >>627
    > お前は式と文の違いをぐぐってから出直せ

    恥晒し乙。

    630 = :

    >>629
    >>629
    >>629
    >>629
    >>629
    >>629
    >>629
    >>629
    >>629
    >>629

    631 = :

    言葉を発すると馬鹿がばれると悟ったか。
    憐れな末路。

    632 :

    いやあ、良いスレだ

    633 = :

    >>627
    コイツ何を考えて「式と文の違いをぐぐれ(キリ」とか言ったんだろうな。
    辞書を引いても意味を間違って理解する

    634 = :

    609だが色々調べてみた。長文だがすまん。

    >>320 で説明してあるとおりだったが、
    無名関数や即時関数と呼ばれるようになったのは2009年12月に制定された ECMAScript 5 からで、
    それ以前では window.onload = function() {} のような文は「無名関数」とは言われなかった。
    だから近日の状況(jQuery などのライブラリも含む)では無名関数に当たる文にはセミコロンをつける風習ができ、
    昔はセミコロンをつける風習がなかった。

    つまり >>623 のように最近の jQuery を多様しているサイトではセミコロンをつける記述をしていて、
    昔からあるサイトではセミコロンをつけない記述が多いのではないかと思う。

    だから現在において >>609 で window.onload = function() {} とセミコロンは不要と書いたのは
    正解でも間違いでもないけど自分の勉強不足だった。

    また、>>619 の言うとおり、
    window.onload = function() {}
    (function() { /* ... */ })();
    では
    (function() { /* ... */ })();
    しか実行されない。
    この場合にセミコロンを記述しないようにして動作させるには
    (function() { /* ... */ })();    // ここの ; はあっても無くても動作はする
    window.onload = function() {}
    と最後に window.onload = function() {} としなければ期待した動作はしない。

    しかし、昔に作った window.onload = function() {} のような無名関数のイベントハンドラを使うコードに
    今から全てセミコロンを付けるメンテナンスは必要かな?

    635 = :

    色々調べてこれかよ

    636 = :

    バグが発生する可能性があるからセミコロンを付けるようになったんだろ
    正解どころか間違いにきまってんじゃん

    638 :

    自分を正当化させるためにとんちんかんなこと言い始めるなんて、可哀想。。。

    639 = :

    少なくとも634は勉強不足って認めているわけだし、相変わらずの揚げ足取りだなw
    関係ないリンク貼っているトンチンカンもいるし、文句言っている奴は説明できるのか?

    640 = :

    関係ないリンクとか言ってる馬鹿は理解してないようだ

    641 = :

    var hoge = function () {}
    (function() { /* ... */ })();

    var hoge = function () { return function () {}; }
    (function() { /* ... */ })();

    エラーになるのとならないの。

    「自動セミコロン挿入規則」を分かってんなら好きにしろ。
    分かってないなら、付けるべきところには全て付けとけって話しね。

    643 = :

    その時のレスは知らないけど、Infinityなんかどうでもいいだろw
    低能だの馬鹿だの2ch漬けはよくないな。昔はこのスレもまともだったのに

    644 = :

    JSも利用者が増えてきたからなあ。荒れるのは仕方ないよ。

    645 = :

    >>643
    そう思うなら、下らんレスばかり拾ってないでまともなレスについてなんか書け。

    646 = :

    この程度で荒れてると思う様ならこのスレには向いてないな。

    647 = :

    テンプレ(1)を質問者以外にも適用させないといけなくなっちまうぞ

    648 = :

    テンプレ?
    あの無駄な議論が続いて形骸化してる奴?
    グーグル検索にヒットする為以外に何かの役に立つの?

    649 = :

    もちろん、テンプレ嫁で済むことはそう書くだけで済むんだからありがたい。
    読まないでさらにつっかかってくる奴は以後スルーでいいでしょ。らくちん。

    650 = :

    おいおいまさかPHPスレのあのクズ共がなだれこんできたんじゃねーだろな
    さっさと巣に帰ってろよボケ


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

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


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