微信小程序为什么用that

抖音小程序 2024-01-06 14:34:03 32
微信小程序为什么用that?

在微信小程序中,使用that关键字是为了避免变量名冲突。that关键字是一个特殊的变量,它指向当前作用域的外一层作用域。这样一来,当我们在嵌套的函数或语句块中定义变量时,可以使用that来避免命名冲突。

以下是一个简单的例子:

function  outer()  {
   var  a  =  1;
   function  inner()  {
     var  b  =  2;
      that.a  =  3;  //  这里不会报错,因为that指向outer作用域的a变量
   }
   inner();
}
outer();

在这个例子中,我们定义了两个函数outer和inner。在inner函数中,我们使用了that关键字来访问outer作用域中的变量a。这样就不会出现命名冲突,因为inner函数中的变量b和outer函数中的变量a是不同的变量。

此外,that关键字还可以用于访问原型链上的属性。例如:

微信小程序为什么用that

function  Person(name,  age)  {
    this.name  =  name;
    this.age  =  age;
}
Person.prototype.sayHello  =  function()  {
   console.log('Hello,  my  name  is  '  +  this.name  +  ',  and  I  am  '  +  this.age  +  '  years  old.');
};
var  person  =  new  Person('张三',  30);
person.sayHello();  //  输出:Hello,  my  name  is  张三,  and  I  am  30  years  old.

在这个例子中,我们定义了一个Person类,并为其原型添加了一个sayHello方法。当我们创建一个Person实例并调用sayHello方法时,可以利用that关键字访问实例的属性。

总之,在微信小程序中,that关键字的使用有助于避免变量名冲突,并可以方便地访问原型链上的属性。这使得代码更加清晰易读,降低了命名冲突带来的风险。

The End