按下刪除按鈕對映的todo要刪除
但我不知道該如何取得索引
作業目前卡在這裡(第27-33行)https://jsfiddle.net/birdie2019/7haz6fLj/19/
課程內容有一段
這邊多介紹一個 for in 的寫法,需要索引時可以用
就是在教這個~
重新做了一遍
https://jsfiddle.net/birdie2019/7haz6fLj/23/
但第29行console.log(index) 結果都為2
還是刪除不到對映的todo,請問我是哪邊有做錯?
【ES6 小筆記】變數提升(Hoisting)與暫時死區(TDZ)
1. hoisting會出現在宣告的動作。
2. hoisting的特性與JavaScript建立執行環境分為兩個階段有關,這兩個階段可以簡單地理解成先宣告再執行,而讓程式碼從肉眼上並沒有移動位置,但實際執行結果卻又像是宣告的程式碼都被寫在最上方。
3. 不只var會hoisting,let、const的宣告動作也會hoisting,差異只在於用let、const的暫時死區(TDZ)結束的時間比較晚,所以會跳出錯誤,而不是印出undefined。
4. hoisting有優先權的差異,函式高於變數。
非常好的問題~!
把外面那個 for loop 改寫
before
after
像這樣,把 for of 改成 for in 就可以了~!
onclick 裡面不需要寫 for loop,可以直接使用 index
試試看吧!