//閉包var a = 5;var color = 'red';function woot(){ console.log(color) //red console.log(a) //undefined var a = 6; function test(){ console.log(a == 6); //true } test();}woot();問題:我在window全局變量下定義了兩個變量,分別是變量a和color,我們知道這兩個變量是基本值類型number和string,然后在下面定義了一個閉包,但是在woot函數里面能訪問到color的值red,卻輸出不了a的值5,根據我學過的知識,知道作用域鏈是里面的能訪問上一層作用于鏈,層層遞進直到window全局,但是在我這個例子中卻有點說不通,因為在woot里面并沒有輸出a的值,哪位大神能否解答一下。下面是我畫的作用域圖:
閉包作用域問題,新手表示不理解
慕田峪9158850
2018-12-29 14:18:40