天天看点

js匿名函数、箭头函数的区别

作者:NativeBase

在 JavaScript 中,匿名函数和箭头函数是两种不同的函数类型。

js匿名函数、箭头函数的区别

它们有以下区别:

1.函数名:

匿名函数没有函数名,而箭头函数有函数名。

2.返回值:

匿名函数默认返回值是函数本身的引用,而箭头函数默认返回值是函数的参数值。

3.函数体:

匿名函数的函数体中可以包含其他函数,而箭头函数的函数体中不能包含其他函数。

4.作用域:

匿名函数的作用域是其调用点所在的作用域,而箭头函数的作用域是其参数所在的作用域。

5.函数名赋值:

在箭头函数中,函数名可以赋值给变量,而在匿名函数中不能。

js匿名函数、箭头函数的区别

下面是一个简单的示例来演示这些区别:

// 匿名函数  
function anonymousFunction() {  
  console.log("这是匿名函数的返回值");  
}

// 箭头函数  
function arrowFunction() {  
  console.log("这是箭头函数的参数值");  
}

// 使用匿名函数  
anonymousFunction();

// 使用箭头函数  
arrowFunction();

// 作用域  
const x = 10;  
function innerFunction() {  
  console.log(x);  
}

innerFunction();

// 函数名赋值  
const f = arrowFunction;  
f();             

在上面的示例中,匿名函数和箭头函数都用于输出一行日志。

但是,匿名函数的返回值是函数本身的引用,而箭头函数的返回值是函数的参数值。

箭头函数的函数体中不能包含其他函数,而匿名函数的函数体中可以包含其他函数。

箭头函数可以作用域其参数所在的作用域,而匿名函数的作用域是其调用点所在的作用域。箭头函数可以赋值给变量,而匿名函数不能。

js匿名函数、箭头函数的区别

继续阅读