Javascript:使用之间有什么区别。和:用于在函数或对象中指定变量的运算符?

时间:2012-05-18 13:32:37

标签: javascript function static-members

为了在javascript函数中使用静态变量,我发现了两种方法,使用。和:运营商。  使用时。运算符我们必须使用“f.variable”指定变量,并在使用时:我们必须使用“this.variable”。这两个运营商的使用有什么区别。

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.

这两个运算符实际上是如何使用的。

编辑: 创建这两种类型的变量有什么区别。

1 个答案:

答案 0 :(得分:4)

此:

f:b = 0;
在表达式语句b = 0;之前,

被解释为label," f"。 ":"在object literal语法中用于将属性名称表达式与其值表达式分隔开。否则,它不用于引用对象的属性。