講師回答 / Bosn
這就是閉包,在初始化函數的處理(addEventListenr)時,click事件處理函數引用的是for循環中的變量i。初始化結束后,當用戶點擊這四個元素中的任何一個時,引用的i仍然是for循環中的i,由于初始化結束后i的值是4,所以自然就都是4.
2015-04-19
講師回答 / Bosn
get/set方法是針對屬性的,這里面用作屬性“age”的get/set方法。簡單的說,當對屬性age賦值時,會調用age的set方法,如:obj.age = 100; // 這里會觸發age屬性的set方法。反之,當讀取屬性age值時,會調用age的get方法,如:var val = obj.age; // 這里會觸發age屬性的get方法。而這里的$age,和__age__, ?age123一樣,都是一個普通的對象屬性,只是為了區分這不是希望被直接讀寫的屬性加上$最為前綴。
2015-04-15
講師回答 / Bosn
自己動手試一試,通常情況下,使用var去聲明的變量,不能被delete,例如:var abc = 100;delete abc; // 返回trueabc; // 還是100但是在eval代碼里,就會不同,:eval("var abc = 100;console.log(delete abc); console.log(abc);"); // 返回true, undefined
2015-04-15