4

次の関数内の式は右から左に評価されます

function foo(){

var a = b = c;

}

このように入力されたようです

var a = (b = 0)

ただし、メソッドがチェーンされている場合は、左から右に読み取られます。このオブジェクトのメソッド...

var obj = {
   value: 1,
   increment: function () {
       this.value += 1;
       return this;
  },
  add: function (v) {
      this.value += v;
     return this;
  },
  shout: function () {
      alert(this.value);
  }
};

このように呼び出すことができ、左から右に評価されます

obj.increment().add(3).shout(); // 5

//それらを1つずつ呼び出すのではなく

obj.increment();
obj.add(3);
obj.shout(); // 5

ですから、いつ左から右へ、右から左へと読むかはわかっていると思いますが、わからないことを知る必要があるというルールはありますか?

4

1 に答える 1

8

ルールは「演算子の結合性」と呼ばれ、演算子の優先順位とともに、ほとんどの言語ですべての演算子(算術、メンバーアクセス、単項またはバイナリなど)のプロパティです。結合性は通常、言語仕様によって定義され、本、チュートリアル、虎の巻などによく見られます。javascriptの最初のグーグル結果の1つはここにあります:http ://www.javascriptkit.com/jsref/precedence_operators.shtml

于 2012-11-24T00:09:43.507 に答える