window.onload = function(){ var a = 1; function test() { var b = new Array(10000); var c = new Array(10000); // 1.創建函數inner時會創建inner的作用域鏈, 此時inner的作用域鏈中是不是保存a、b、c 三個變量?如果不是那是保存的什么? function inner(){ console.log(b); } // 2.執行函數a時,會創建a的執行環境,其中包含作用域鏈,但是通過chrome控制臺觀察發現,斷點停留在inner內部時,父級閉包作用域中只有引用的變量b,而沒有變量c,是因為作用域鏈中只保存引用的變量嗎? // 3.未被引用的變量c是否被標記回收? inner(); } test();};問題描述請看代碼中的注釋,有可能描述錯誤,請指正。請幫忙回答這三個問題。附圖
js函數的父級變量如果未被內部函數引用,是否會保存在作用域鏈中?
慕虎7371278
2018-10-10 13:37:37