第四章:大局观
本书概述了你在入门 JS 时需要注意的事项。我们的目标是填补那些刚接触 JS 的读者在早期接触该语言时可能踩的坑。我也希望我们已经暗示了足够多的更深层次的细节,以激起你的好奇心,想更多地了解这种语言。
在本系列的其他书籍中,我们将会解读语言中所有的其他特性,其详细程度远远超过我们在这里的几个简短章节中所能做到的。
不过,请记住,忙乱源于贪快。与其匆匆忙忙地去看下一本书,试图快速地读完所有的书,不如花些时间回顾一下本书的内容。再花些时间看看你当前项目中的代码,并将你所看到的与到目前为止所讨论的内容进行比较。
当你准备好了,这一章主要将 JS 语言分为三个重要组成部分,然后提供了一个简短的路线图,说明对这一系列书的其余部分的展望,以及我建议你如何前行。另外,不要跳过附录,特别是附录 B「温故而知新」。
重要组成 1: 作用域与闭包
将变量组织成作用域单位(函数、块)是任何语言最基础的特征之一;也许没有其他特征对程序的行为方式有更大的影响了。
作用域就像桶,而变量就像你放进这些桶里的弹珠。一种语言的作用域模型就像帮助你确定哪种颜色的弹珠放在哪种匹配颜色的桶里的规则。
对于作用域之间相互嵌套,任何给定的表达式或语句只有该层作用域嵌套的变量或更高/外层作用域中的变量可以被访问;较低/内层作用域中的变量将被隐藏,无法访问。
这就是作用域在大多数语言中的表现,这被称为词法作用域。作用域单元的边界,以及变量在其中的组织方式,是在程序被解析(编译)时决定的。换句话说,这是由开发者决定的:你在程序中定位一个函数/作用域的位置决定了程序中这一部分的作用域结构是什么。
JS 是词法作用域的,尽管许多人声称它不是,因为它的模型有两个特殊的特点,是其他词法作用域的语言所不具备的。
第一种通常被称为变量提升:当所有在作用域中的任何地方声明的变量都被当作在作用域的开头声明的。另一种是 var 声明的变量是函数作用域,即使它们出现在一个块内。
变量提升和

本文深入探讨JavaScript的重要组成部分,包括作用域与闭包、原型系统以及类型和强制转换。作者强调理解这些核心概念对于成为熟练的JS开发者至关重要。作用域决定了变量的可见性和组织方式,闭包在函数作为头等公民的语言中发挥关键作用。原型系统提供了对象创建和继承的灵活性。此外,类型和强制转换是JS特性中经常被忽视的部分,理解它们对于编写高效代码至关重要。建议读者不要急于求成,而是逐步深入每个主题。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



