JavaScript编程:闭包、对象与异常处理全解析
1. 闭包的奥秘
在JavaScript中,闭包是一个强大且常用的特性。每次调用 makeCounter
函数时,它返回的函数都会创建一个新的闭包,拥有独立的 value
副本。例如:
let c = counterTwo(); // 1
let d = counterTwo(); // 2
let e = counterOne(); // 3
let f = counterTwo(); // 3
很多程序员在使用闭包时甚至都没有意识到它的存在。闭包在使用回调函数的API中非常常见,当回调函数被安装时,它通常会封闭在回调被调用时使用的变量。如果你有面向对象编程的经验,会发现以这种方式使用的闭包类似于对象实例,但JavaScript有更好的替代方案,即使用类。
2. JavaScript对象的创建与操作
JavaScript是一种面向对象的编程语言,与C不同,不使用对象几乎无法进行实际的JavaScript编程。即使是对数字和字符串的常见操作,也需要调用数字和字符串对象的方法。C++也是面向对象的语言,但C++和JavaScript对对象的处理方式截然不同。例如,C++有类模板、运算符重载和多重继承,而这些都不是JavaScript的一部分。
2.1 创建对象
在JavaScript中,使用 new
关键字来创建对象,所有对象都继承自内置对象