크롬에서 스 니펫을 실행하고 변수를 봅니다.
그러나 뭔가 이상한 점이 있습니다. , b
, c
은 모두 폐쇄 범위에서 선언되었지만 a
및 b
은 사용할 수 없습니다. 왜 이런 일이 발생하는지 명확히 확인하십시오. 크롬 개발 도구 : 시계 변수를 사용할 수 없음 (클로저 범위에서 감지하지 못함)
"크롬 시계 식의 변수는 로컬 범위에서 사용해야하며 그렇지 않으면 전역 범위에서 선언해야합니다. 그렇지 않으면 클로저 범위에서 선언 된 경우에도 사용할 수 없습니다"라고 가정합니다. 그 제안이 맞습니까?
크롬 버전 : 60.0.3
다음은 시험에 당신을 위해 내 코드입니다 : 그것은 버그가있을 수 있습니다처럼
var globalV = 123;
;(function(){
var a = function(){}
var b = function(){a()}
var c = function(){b()}
var d = function(){
debugger
c()
}
d()
})()
당신의 가정이 맞다고 생각합니다. 문제가 의도적인지 또는 버그인지 확실하지 않습니다. – wOxxOm