0

JavaScript関数で静的変数を使用するために、. および : 演算子。を使用する場合。演算子は「f.variable」で変数を指定する必要があり、使用する場合は「this.variable」を使用する必要があります。これら 2 つの演算子の使用法の違いは何ですか。

function f(){
  f.a += 1;
  this.b += 1;
  console.log("f.a: ", f.a);
  console.log("this.b: ", this.b);
}
f.a = 0;
f:b = 0;

また、次のように関数の外でその変数を使用する場合、 : を使用することはできません。

function g(){
  f:b = 0; //this works fine.
  var c = f:b; //raises error invalid label.
  console.log(f:b);//but this raises an error missing ')'.
}

var を使用してオブジェクトを作成する場合も同様です。

var obj = {
 a: 2,
 b: 3
}
//accessing a and b is done using obj.a & obj.b
//but here
obj:a = 4;
console.log(f.a); // this gives 2
//and similarly using obj:a as rhs value gives error.

この 2 つの演算子は実際にどのように使用されますか。

編集: 作成されたこれら 2 つのタイプの変数の違いは何ですか。

4

1 に答える 1

4

これ:

f:b = 0;

は、式ステートメント の前のラベル「f」として解釈されb = 0;ます。「:」は、オブジェクト リテラル構文で、プロパティ名の式をその値の式から分離するために使用されます。それ以外の場合、オブジェクトのプロパティの参照には使用されません。

于 2012-05-18T13:33:57.983 に答える