不是很理解點擊事件的觸發過程。。。 在外層for語句i=10,當進入內部函數的時候,i++,由于作用域,內部函數可以調用作用域鏈上外部的變量,所以內層輸出為11。 但外層輸出了i=1/2/3/4/5/6/7/8/9/10,我的疑惑是比如當點擊第二個按鈕的時候,外層的i已經循環到10了,按這種思路來說,是直接會觸發:document.getElementById("id10").onclick = function (){},意思是只有第10個按鈕才會觸發。。第二個按鈕為什么會觸發onclick事件呢..之前看到了外層會輸出i=1/2/3/4/5/6/7/8/9/10,意思是都會觸發嗎?能不能這樣理解:點擊第二個按鈕的時候,i=2,document.getElementById("id2").onclick = function (){},被觸發的時候,但是for循環不會停止,當判斷條件不為false的時候,則i=11也會傳入document.getElementById("id2").onclick = function (){}內部函數里,然后由于先后順序,i=11會覆蓋掉之前的i=2的賦值,最后輸出11。。。是這樣理解的嗎??像下面(這樣的話,就只會輸出一個值,而且只有當點擊第五個按鈕的時候):對原理和順序不是很了解。。。求解答。。萬分感謝
問一個JavaScript里弱弱的閉包的問題
當年話下
2018-08-05 11:09:53