function a() {
var propa = 'a'
(function b() {
var propb = 'b'
})()
}
a()
像这样一段代码,在函数 b 没有引用函数 a 里的变量的情况下,函数 b 的作用域链上是否还会包含 函数 a 的作用域?
(function a() {
var propa = 'a'
(function b() {
var propb = 'b'
return function () {
var propc = propa
}
})()
})()
这样,函数 b 内返回了一个闭包出去,这个闭包的作用域链会包含函数 a 的作用域,那么会包含函数函数 b 的作用域吗?
评论里有人说代码会报错。
我在console上试了一下,确实,语句结尾加分号吧(写代码好习惯);
既然有疑问 ,那就写代码验证一下呗。