0

为了在 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.

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

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

4

1 回答 1

4

这:

f:b = 0;

在表达式语句之前被解释为标签b = 0;“f” 。":" 在对象字面量语法中用于将属性名称表达式与其值表达式分开。否则,它不用于引用对象的属性。

于 2012-05-18T13:33:57.983 回答