JavaScript 的本质可以概括如下:
bind()
进行部分应用、数组的内置 map()
和 reduce()
等)和面向对象编程(可变状态、对象、继承等)。请注意,JavaScript 引擎已经变得非常智能,并在底层修复了一些怪癖。例如
但 JavaScript 也有很多优雅的部分。Brendan Eich 最喜欢的是:[3]
最后两项,对象字面量和数组字面量,允许您从对象开始,并在稍后引入抽象(例如构造函数,JavaScript 中类似于类的概念)。它们还支持 JSON(请参阅第二十二章)。
请注意,优雅的部分可以帮助您解决怪癖。例如,它们允许您在语言中实现块级作用域、模块和继承 API。
JavaScript 受到了几种编程语言的影响(如图 3-1 所示)
Date
构造函数(它是 java.util.Date
的移植)。function
来自 AWK。onclick
。