js箭头函数与普通函数有什么区别
时间: 2024-06-08 17:08:08 浏览: 21
箭头函数和普通函数在语法和功能上有一些区别。首先,箭头函数是匿名函数的简化形式,可以省略函数定义的一些部分。其次,箭头函数和普通函数在使用时有一些差异。
1. 箭头函数不能作为构造函数使用,而普通函数可以被实例化为对象。
2. 箭头函数没有自己的this关键字,它的this是继承自上下文环境。而普通函数的this关键字指向调用函数的对象或undefined(在严格模式下)。
3. 箭头函数没有arguments关键字,它不具备普通函数的参数对象。而普通函数可以通过arguments访问所有传入的参数。
4. 箭头函数不能使用super关键字,它无法访问其父类的属性或方法。而普通函数可以使用super关键字来引用父类的属性或方法。
5. 箭头函数不能被用作Generator函数,它不能使用yield关键字。而普通函数可以被用作Generator函数,并且可以使用yield关键字返回多个值。
综上所述,箭头函数和普通函数在语法和功能上有一些差异,主要体现在构造函数的使用、this关键字的指向、参数对象的访问、super关键字的使用和Generator函数的支持等方面。
相关问题
js中 箭头函数与普通函数区别
箭头函数和普通函数的主要区别在于 this 的指向。箭头函数的 this 指向的是定义时所在的作用域,而不是执行时的作用域。另外,箭头函数没有自身的 arguments 对象,也不能使用 new 关键字调用。
箭头函数与普通函数的区别
箭头函数和普通函数在语法和功能上有一些不同:
1. 箭头函数使用箭头(=>)来定义函数,而不是使用function关键字。
2. 箭头函数可以省略function关键字、大括号和return关键字,来简化函数的定义。
3. 箭头函数没有自己的this值,它们的this值继承自外围作用域。
4. 箭头函数不能用作构造函数,不能使用new关键字来实例化对象。
5. 箭头函数不能使用arguments对象,但可以通过 rest 参数来获取函数的参数。
6. 箭头函数适用于需要简洁代码和简单函数的场景,而普通函数则更加灵活,适用于复杂的操作和需要this值的场景。
以下是箭头函数和普通函数的示例代码:
```javascript
// 普通函数
function sum(a, b) {
return a + b;
}
// 箭头函数
const sum = (a, b) => a + b;
```
```javascript
// 普通函数
const obj = {
name: 'Alice',
getName: function() {
return this.name;
}
};
// 箭头函数
const obj = {
name: 'Alice',
getName: () => this.name
};
```
总之,箭头函数是一种比较新的函数形式,它可以简化代码,但也存在一些限制。在使用时需要根据实际情况进行选择。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)