0
var x = "hi!";
request(url, function(error, response, body) {
console.log(x); //prints "hi!"
});
如果我刪除線console.log(x)
與console.log('hello!')
替換它,並把一個斷點在WebStorm那行,如果我嘗試評估x
,它說「的ReferenceError:X沒有定義」。變量何時成爲JavaScript函數環境的一部分?
這是爲什麼? WebStorm是如何工作的,或者JavaScript是否有某種類型的預處理器,只包含函數中使用的變量,在它的關閉中?
Webstorm的調試器中運行可能[嚴格模式](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode) –
@RobM。我的腳本頂部也有「嚴格使用」的字樣。嚴格模式如何影響這一點? – Ayush