javascript箭头函数的讲解
时间: 2023-11-26 19:44:05 浏览: 83
JavaScript箭头函数是ES6中引入的一种新的函数定义方式,它可以更简洁地定义函数并且可以避免this指向问题。箭头函数的语法如下:
```
(param1, param2, …, paramN) => { statements }
```
其中,参数列表和函数体之间用箭头符号(=>)连接。如果函数体只有一条语句,可以省略花括号和return关键字,例如:
```
(param1, param2, …, paramN) => expression
```
这里的expression就是函数体中的唯一语句,它的结果会被自动返回。
箭头函数与普通函数的区别在于this的指向。在普通函数中,this的值是在运行时确定的,它取决于函数的调用方式。而在箭头函数中,this的值是在定义时确定的,它取决于箭头函数所处的上下文。具体来说,箭头函数中的this指向的是定义时所在的作用域中的this,而不是运行时所在的作用域中的this。
举个例子,假设我们有一个对象obj,它有一个属性x和一个方法foo:
```
let obj = {
x: 10,
foo: function() {
console.log(this.x);
}
};
```
如果我们调用obj.foo(),那么this指向的就是obj对象本身,因此会输出10。但是如果我们把foo改写成箭头函数:
```
let obj = {
x: 10,
foo: () => {
console.log(this.x);
}
};
```
那么无论如何调用foo,this都指向的是定义时所在的作用域中的this,也就是全局对象(在浏览器中通常是window对象),因此会输出undefined。
阅读全文