5.4 变量的查找
从代码的角度来看,(作为右值)写出变量名以对该值进行获取的操作,或者写在赋值表达式左侧以作为赋值对象进行查询的操作,都被称为对变量名称的查找。
因此,在最外层代码中对变量名进行查找,就是查找全局对象的属性。这其实只是换了一种说法,在最外层代码中能够使用的变量与函数,只有全局变量与全局函数而已。至于对函数内的变量名的查找,是按照先查找 Call 对象的属性,再查找全局对象的属性来进行的。这相当于在函数内可以同时使用局部变量(以及参数变量)与全局变量。对于嵌套函数的情况,则会由内向外依次查找函数的 Call 对象的属性,并在最后查找全局对象的属性。
这里使用了“查找变量名”这一说法,较为抽象,而能更直观体现其意义的词则是变量的作用域。