13、JavaScript 函数与作用域全解析

JavaScript 函数与作用域全解析

1. 函数表达式与匿名函数

在 JavaScript 中,我们之前主要接触的是函数声明,它为函数提供了函数体(定义函数的功能)和标识符(以便之后调用函数)。不过,JavaScript 也支持匿名函数,这类函数不一定有标识符。

你可能会好奇,没有标识符的函数有什么用呢?没有标识符,我们要怎么调用它呢?答案在于理解函数表达式。表达式是能计算出值的东西,而在 JavaScript 里,函数和其他类型的值一样,也是值。函数表达式就是声明(可能未命名的)函数的一种方式。函数表达式可以赋值给某个东西(从而赋予它一个标识符),也可以立即调用。

函数表达式在语法上与函数声明相同,只是可以省略函数名。下面是一个使用函数表达式并将结果赋值给变量的例子,这实际上等同于函数声明:

const f = function() {
   // ...
};

这样做的结果和我们以常规方式声明函数一样:我们得到了一个标识符 f ,它指向一个函数。就像常规的函数声明一样,我们可以用 f() 来调用这个函数。唯一的区别是,我们通过使用函数表达式创建了一个匿名函数,并将其赋值给了一个变量。

匿名函数经常被使用,比如作为其他函数或方法的参数,或者用于在对象中创建函数属性。

如果我们给函数表达式中的函数命名并赋值给一个变量,会发生什么呢?又为什么要这样做呢?例如:

co
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值