这个问题在这里已有答案:
我在chrome中运行片段并观察变量。
然而,令我困惑的是:变量a
,b
,c
都在闭包范围内声明,但a
和b
不可用。请说清楚为什么会这样?
offcial Doc没有说清楚。
我做了一个假设:“chrome的监视表达式中的变量必须在本地范围内使用,或者在全局范围内声明,否则即使已在闭包范围中声明它也不可用”。这个命题是否正确?
Chrome版本:60.0.3
以下是我测试的代码:
var globalV = 123;
;(function(){
var a = function(){}
var b = function(){a()}
var c = function(){b()}
var d = function(){
debugger
c()
}
d()
})()
看起来它可能是一个错误。我创建了一个问题,以便DevTools团队中的某个人会看到它:https://crbug.com/762265