this that 的区别 函数
时间: 2024-02-06 09:11:31 浏览: 18
"this"和"that"都是用来指代某个对象或者值的关键字,但是它们的使用场景和含义略有不同。
"this"关键字通常用在函数内部,用来指代当前正在执行的函数所属的对象。例如:
```
const obj = {
name: "Alice",
sayHi() {
console.log(`Hi, my name is ${this.name}.`);
}
};
obj.sayHi(); // 输出: Hi, my name is Alice.
```
在上面的例子中,函数`sayHi`所属的对象是`obj`,因此在函数内部使用`this.name`就可以访问到`obj`对象的`name`属性。
"that"关键字通常用在函数内部,用来指代某个外部的对象或值,通常是为了避免在嵌套函数中出现混淆。例如:
```
const obj = {
name: "Alice",
sayHi() {
const that = this;
function innerFunc() {
console.log(`Hi, my name is ${that.name}.`);
}
innerFunc();
}
};
obj.sayHi(); // 输出: Hi, my name is Alice.
```
在上面的例子中,函数`innerFunc`内部使用的是变量`that`,它指代的是外部的`obj`对象。由于`innerFunc`函数是在`sayHi`函数内部定义的,因此如果直接使用`this.name`,它所指代的对象会发生变化,可能会导致混淆。
至于"函数"的概念,它是一段可重复调用的代码块,用来完成特定的任务。函数通常可以接受参数,可以有返回值,也可以没有。函数的作用是提高代码的复用性和可读性,让程序更加模块化和易于维护。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)