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

    私的良スレ書庫

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

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

    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
    401 : Name_Not - 2011/03/10(木) 11:01:02.78 ID:??? (+3,-29,-119)
    > -1が0以上でないからfalseが返ってくるってことですか?

    そういうこと。
    >=などの関係演算子、==などの等価演算子の評価結果は
    比較対象の型がなんであれ、trueかfalseのどちらかと決められてる。

    演算子つーのはそれだけで、ごちゃごちゃといろんなことを中でやってるのだよ。
    404 : Name_Not - 2011/03/10(木) 12:48:54.77 ID:??? (-3,-30,-63)
    >>403
    >a=falseと
    そうではない。 a >= 0 が false と解釈される。

    皆の迷惑になるから、JavaScriptの仕様書かせめて入門書ぐらい一通り読んでから質問しろよ。
    405 : Name_Not - 2011/03/10(木) 12:56:36.01 ID:??? (+0,-29,+0)
    どうでもいいけど >= キモい
    <= 使ってくれ
    407 : Name_Not - 2011/03/10(木) 13:56:37.98 ID:??? (+1,-30,-76)
    >>380,403
    var a = -1
    var b = (a >= 0);
    alert(b); // false

    if文では比較演算子の評価値(true/false) を見て処理を分けてる。
    408 : Name_Not - 2011/03/10(木) 19:19:36.64 ID:??? (+29,-29,-18)
    >>405みたいな馬鹿は
    (0 <= a) みたいに書いてんの?
    そっちのがキモイわw
    410 : Name_Not - 2011/03/10(木) 19:54:56.29 ID:??? (+24,-28,-47)
    getElementByIdで取得先の要素が更新して、新しい値になった場合でも
    前のキャッシュが残っていて前の結果が取られるのですが、
    ページリフレッシュせずにこれを解決するにはどうすればいいのでしょうか。
    411 : Name_Not - 2011/03/10(木) 19:59:29.26 ID:??? (+57,+29,-35)
    取得先の要素を更新しても更新されずにキャッシュがって状況がよくわからない
    それって更新してないだけじゃないの?
    具体例を見せてほしい
    412 : Name_Not - 2011/03/10(木) 20:00:50.61 ID:??? (+51,+23,-27)
    innerHTMLとかで丸ごと書き換えてるとかでしょ
    413 : Name_Not - 2011/03/10(木) 20:06:08.25 ID:??? (+36,-30,-61)
    live だと思ってるんじゃないの。

    var element = document.getElementById('hoge');
    // ページの更新処理
    alert(element); // element が古いまま
    414 : Name_Not - 2011/03/10(木) 20:06:30.68 ID:??? (+34,+29,-23)
    >>408
    常に右辺が大きくなるような書き方にすると可読性が上がる
    リテラル値がどっちかなんて考える必要もないしな
    415 : 410 - 2011/03/10(木) 20:14:25.65 ID:??? (+65,+28,-14)
    >>413
    そうです。
    おとなしくjquery使っておけという事でしょうか。
    417 : Name_Not - 2011/03/10(木) 21:01:23.14 ID:??? (+35,-29,-14)
    >>415
    更新したら、もういっかい getElementById() を呼ぶ必要があるだけだよ。
    418 : Name_Not - 2011/03/10(木) 21:34:54.90 ID:??? (+57,+29,-3)
    あれ
    大なり小なりって
    どつちがどっちだ
    419 : Name_Not - 2011/03/10(木) 21:36:35.78 ID:??? (+52,+29,-1)
    低レベルなレスはしなくてよろしい
    421 : Name_Not - 2011/03/10(木) 21:40:21.91 ID:??? (+52,-30,-23)
    >>420
    var MyClass = function(){
    this.privateMethod = function(){}; // プライベートメソッド
    };
    422 : Name_Not - 2011/03/10(木) 21:43:13.67 ID:??? (+60,+29,-14)
    >>421
    プライベートメソッドと言いつつ丸見えな件について
    423 : 410 - 2011/03/10(木) 21:54:06.79 ID:??? (+50,+18,-2)
    >>417
    できました!
    すれ汚し失礼しました。
    424 : Name_Not - 2011/03/10(木) 21:58:15.00 ID:??? (-10,-30,-112)
    >>420
    jsにはprivate修飾子なんてないから規約で決めるのが一番いいと思うね
    this._method = function(){~};
    this._var = "hello";

    プライベートには_を付けるというコーディング規約がある(PHPのzendとかいろいろ)
    http://framework.zend.com/manual/ja/coding-standard.naming-conventions.html#coding-standard.naming-conventions.functions-and-methods
    425 : Name_Not - 2011/03/10(木) 22:04:46.90 ID:??? (-5,-30,-29)
    >>420
    var MyClass = function(){
     function privateMethod (){}
     this.publicMethod = function publicMethod () { privateMethod.call(this); }:
    };
    426 : Name_Not - 2011/03/10(木) 22:06:41.33 ID:eJR+lZ3V (-22,+29,-52)
    >>424
    ということは、javascriptでプライベートメソッドをエミュレートするときの慣習というか、常識となっている方法は名前規約なのですね。
    回答ありがとうございました。
    427 : Name_Not - 2011/03/10(木) 22:08:23.31 ID:??? (+56,+22,-3)
    >>421 >>425
    これ動くのか?
    428 : Name_Not - 2011/03/10(木) 22:08:37.56 ID:??? (-1,-29,-5)
    privateにしようとしてソースコードまでプライベートにしたら意味がない
    430 : Name_Not - 2011/03/10(木) 22:19:15.52 ID:??? (+55,+27,-1)
    JavaScriptはクラスベースじゃありますん
    431 : Name_Not - 2011/03/10(木) 22:41:17.78 ID:??? (+0,-30,-105)
    >>429
    privateMethod を共有していいのなら、privateMethod を外に出せばいい。

    function MyClass (hoge){ this.hoge = hoge; return this; }
    (function () {
     function privateMethod (){ alert(this.hoge); }
     MyClass.prototype.publicMethod = function publicMethod () { privateMethod.call(this); };
    })();
    new MyClass('foo').publicMethod();
    432 : Name_Not - 2011/03/10(木) 23:17:20.20 ID:eJR+lZ3V (-16,+29,-50)
     >>431
    なるほど!Callオブジェクトの中に閉じ込めるんですね!
    そんな使い方ができるなんて……とても勉強になります。

    ところで、そのコードで1点わからないところがあります。
    MyClassで自身を返している(return this)のはなぜなのでしょうか?
    削ってみても動くようなのですが、どんな意図があるのでしょうか。
    433 : Name_Not - 2011/03/10(木) 23:30:27.67 ID:??? (-7,-29,-9)
    new MyClass().methodA().methodB()な使い方をしたいんじゃない?
    434 : Name_Not - 2011/03/10(木) 23:33:54.55 ID:??? (+62,+29,-2)
    どう読んだらそうなるんだよww
    435 : Name_Not - 2011/03/10(木) 23:39:35.11 ID:eJR+lZ3V (-20,+29,-42)
    >>433
    言いたいことはわかります。
    jQueryによくある感じで、ドットでメソッドをつなげていくことを意識したのでしょうか。
    ともかく回答してくださった方々、どうもありがとうございました!
    436 : Name_Not - 2011/03/10(木) 23:59:38.35 ID:??? (-1,-29,-40)
    2000年頃に流行ったreturn thisは
    VisualBasic畑のよくわかってない外人がmsdnのコラムで書いていたのが
    コピペで広まったもの
    437 : Name_Not - 2011/03/11(金) 00:02:39.00 ID:??? (+57,+29,-73)
    プライベートはグローバル変数と同じ、気にし過ぎる方がどうかしている
    どうしてもやりたきゃ適当なインスタンスを隠蔽してそいつに委譲しろ
    つーかそれを自動でやるのがprototypeなんだがな
    438 : Name_Not - 2011/03/11(金) 00:14:24.29 ID:??? (+4,-29,-32)
    javascriptでprivateはいらないな…
    constは欲しいけど
    439 : Name_Not - 2011/03/11(金) 00:23:17.18 ID:??? (+51,-30,-66)
    >>434
    Test = function(){
    this.hello = function(){
    alert("hello");
    return this;
    }
    this.world = function(){
    alert("world");
    return this;
    }
    }
    new Test().hello().world();

    こんなのを想像したが
    440 : Name_Not - 2011/03/11(金) 00:58:21.41 ID:??? (+72,+29,-111)
    JavaScriptでJavaみたいな書き方をする必要がないしそういうふうにできてない
    他言語から来た人はもっと柔軟性をもたないと
    とくにオブジェクト指向といってもクラスベースとプロトタイプベースでは
    根本的な概念が違うしクラスにこだわらずプロトタイプでの実装を学ぶべき
    441 : Name_Not - 2011/03/11(金) 01:25:10.85 ID:??? (+13,-30,-27)
    method1、method2、method3はどう違う?

    var MyClass = function() {
     var method1 = function() {}
    method2 = function() {}
     function method3() {}
    }
    442 : Name_Not - 2011/03/11(金) 01:47:08.64 ID:??? (+47,+29,+0)
    何もかもが違う
    443 : 431 - 2011/03/11(金) 01:47:34.09 ID:??? (+64,+29,-50)
    >>439
    それもあるが、明示的に return する方がわかりやすくて好み。
    この場合は違いがないので各々のスタイルで書けばいいと思う。
    444 : Name_Not - 2011/03/11(金) 02:01:20.25 ID:??? (+91,+29,-72)
    コンストラクタはプロパティのスナップショットをとるのにも使う
    return thisなんて書かなきゃならんほどグダグダ書かない方がええ
    どうしてもメソッドチェーンが好きならイニシャライザを分けろ
    445 : Name_Not - 2011/03/11(金) 02:24:47.24 ID:??? (+57,+29,+0)
    446 : Name_Not - 2011/03/11(金) 09:05:03.87 ID:??? (-2,+30,+0)
    448 : Name_Not - 2011/03/11(金) 11:25:47.78 ID:??? (+57,+29,-19)
    すまん裏で読むってどういうことだ?
    画像が読み込まれる前にじゃヴぁすくが実行されるとこまるト言うケースならわかるが、
    449 : Name_Not - 2011/03/11(金) 11:56:48.55 ID:??? (+53,-30,-189)
    var images = [""];
    var counter = 0;
    var complete = function(){
        if(img.length <= ++counter) {
            alert("終わったよ?");
        }    
    }
    var loadImage = function(e){
        var image = new Image();
        image.src = e;
        image.addEventListener("load", complete, false);
        image.addEventListener("error", complete, false);
    }
    images.forEach(loadImage);

    適当に書いてみた動くかは分からない
    450 : Name_Not - 2011/03/11(金) 12:04:30.80 ID:??? (-2,-30,-53)
    訂正
    誤    if(img.length <= ++counter) { 
    正    if(images.length <= ++counter) { 
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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