В первом случае вы сами вызываете литерал функции и присваиваете значение вызова переменной myQuery
.
Во втором случае вы присваиваете ссылку наанонимная функция, которую вы определили.Здесь myQuery
действует как указатель или ссылка на функцию.
Для лучшей иллюстрации.
var myQuery = (function() {
return "Hello";
})();
В этом случае myQuery
содержит значение Hello
.Теперь, если у вас есть:
var myQuery = (function() {
return "Hello";
});
myQuery
содержит ссылку на функцию.Если бы вы использовали console.log
в Firebug для вывода этого значения, вы бы увидели function()
.Эта ссылка - то, что вы можете передать или даже вызвать.Итак:
var myQuery = (function() {
return "Hello";
});
var value = myQuery();
Теперь value
будет содержать Hello
.Надеюсь, это объясняет разницу.