在我的JavaScript代碼中,我有一個自動執行的匿名函數,它立即執行。在裏面,我有document.ready()
這確保在做東西之前dom已經準備好了。只是想知道我的代碼中的document.ready是否是多餘的。自動執行javascript中的匿名函數
(function() {
"use strict";
var app = {
init: function() {
app.addLun('Hello');
$('#some_id').on('click', this.changeStuff);
},
changeStuff: function(e) {
e.preventDefault();
$('#some_id').text("Cool text");
},
addLun: function(a) {
console.log(a);
}
};
$(document).ready(function() {
app.init();
});
})();
這取決於該代碼的位置。但是我認爲自從'init'方法訪問DOM以來就很重要,所以它需要做好準備。最糟糕的情況是DOM已經準備好了(以某種方式)並且'app.init();'立即執行。沒有錯。特別是因爲我認爲,因爲該方法被稱爲'init',它只會被調用一次...所以它不像'$(document).ready('部分將被執行多次 – Ian
這並不是真的適用於你atm,但只是一個小心的詞:調用'$(document).ready(function(){...});'多次(例如在一個循環中)將導致內部函數被多次調用..我已經看到它發生了幾次,所以我想我只是把它扔在那裏哈哈 – asifrc