當我執行下面的JavaScript時,我期待b()的控制檯日誌打印undefined。 (因爲我沒有聲明姓名)。Javascript調用堆棧/執行上下文參考
function b(){
console.log(name);
}
function a(){
var name = "rupesh";
b();
}
var name = "Demo";
a();
預期輸出:未定義
實際輸出:演示
我一直在閱讀上的全球執行上下文,使用Javascript的執行上下文。有人提到,執行上下文將查找全局執行上下文。
但是,如果我理解正確,函數a()和函數b()在堆棧中執行。它如何返回到執行上下文(在數據結構方面,這不會發生)。
有點困惑。請解釋這是如何工作的!
吊裝。 http://www.adequatelygood.com/JavaScript-Scoping-and-Histing.html – Will