Есть две реализации, между которыми я запутался: -
- **FIRST**
// A self invoking function
selfFunction = (function(){
$(document).ready(function(){
applyBindings();
});
applyBindings = function(){
$("#btnSubmit").on("click",function(){//Do Something});
.....
.....
.....
//More Bindings
};
})();
- **SECOND**
// A self invoking function
selfFunction = (function(){
applyBindings();
applyBindings = function(){
$("#btnSubmit").on("click",function(){//Do Something});
.....
.....
.....
//More Bindings
};
})();
Единственное отличие состоит в том, что в ПЕРВОМ случае я привязываю события, используя $(document).ready(). Где, как и во ВТОРОМ, я вызываю функцию внутри функции самовызова.
Оба выполняют свою работу, но я хочу знать, какой из них следует соблюдать и почему??
var
, чтобы не загрязнять глобальную область видимости. Вы не используетеvar
, поэтому все ваши переменные в любом случае становятся глобальными. - person Quentin   schedule 24.08.2017applyBindings
перед тем, как присвоить ему значение. Это должно вызвать ошибку, потому чтоundefined
не объявлено в то время, когда вы его вызываете. - person Quentin   schedule 24.08.2017