//處理代碼
})(壹);樓主肯定不知道上面的代碼是怎麽執行的。搞清楚我為什麽不能被除名之後,就不行了。妳必須首先知道為什麽我不能被刪除,以及這種寫作是怎麽回事。
實際上,這是壹種立即編寫函數的方法。也就是定義壹個匿名函數,然後立即執行。這種寫法相當於:
函數tmpName(index){
//處理代碼
}
tmpName(I);稍微靠近壹點寫的是這樣的:
var fn =函數(指數){
//處理代碼
}
//函數調用
fn(壹);如果把上面的fn改成function(index){},和妳寫的壹樣嗎?只是改變的函數省略了函數名。
顯然index是形參,I是調用時傳遞的實參。如果不放壹個I進去,就相當於沒有索引參數。在這種情況下,該函數中使用的index值為null。假設mDD[index]變成了mDD[null]。數組訪問可以這樣嗎?這不是不正常嗎?因此,如果沒有傳入I,就會導致異常和錯誤。