【发布时间】:2019-07-14 01:58:48
【问题描述】:
在这段代码中,有多少变量在全局范围内,又有多少在greet函数的局部范围内?
var foo = 42;
var bar = 43;
function greet(name) {
greeting = 'Hello';
return greeting + ' ' + name;
}
我相信有两个全局变量(foo 和 bar)和 0 个局部变量。由于函数永远不会被调用,name 和 greeting 不会被声明,所以我会说它们不在全局或本地范围内。
你怎么看?如果函数 greet() 从未被调用,greeting 和 name 可以有一个作用域吗?
【问题讨论】:
-
由于 JavaScript 文件通常是动态加载的,因此无法知道该函数是否会被调用。在这个 sn-p 中没有调用它,但可能有其他代码调用它。
标签: javascript variables scope global-variables lexical