函数即对象:一篇文章彻底搞懂 JavaScript 的函数特点
js 中,可以
- 把函数赋值给变量
- 把函数作为函数参数
- 返回结果为函数
函数非常灵活,因为它们是特殊的对象,也为一等公民
基于一等公民的特性,可以非常方便的实现闭包,函数式编程。这些在其他语言下是非常难以实现的
闭包和函数式编程经常遇到,如果不熟悉的话,经常使用第三方代码的时候也会非常吃力,自己也很难按照这些特性写出比较优雅的代码。所以我们很必要了解它们的底层机制
后续介绍 V8 工作机制的时候,会介绍 V8 如何实现闭包的,还有 V8 如何把 js 的动态特性静态化,加快代码的运行,这些都涉及到 js 底层函数特性
什么是 js 中的对象
js 是基于对象的语言,js 大部分的内容是对象构成的,比如函数和数组,js 是建立在对象上的语言
对象在运行的时候可以修改内容,造就了它非常灵活的特性