在JavaScript示例中计算作用域

在JavaScript示例中计算作用域,javascript,scope,Javascript,Scope,看看这个“CoffeeScript-加速JavaScript开发”示例: 为什么在本例中,age打印到99 转世,一个结束(据我所知),可以进入年龄。为什么它的动作不将年龄更改为0?因为转世()包含: var age; age = 0; 它在自己的范围内重新声明age变量。随后,名称age指的是“新”变量,而不是捕获的变量 省略var关键字将导致修改捕获的age变量 var age; age = 0;

看看这个“CoffeeScript-加速JavaScript开发”示例:

为什么在本例中,
age
打印到
99

转世
,一个结束(据我所知),可以进入
年龄
。为什么它的动作不将
年龄更改为0?

因为
转世()包含:

var age;
age = 0;
它在自己的范围内重新声明
age
变量。随后,名称
age
指的是“新”变量,而不是捕获的变量

省略
var
关键字将导致修改捕获的
age
变量

var age;
age = 0;