Rád bych se zeptal, kterou techniku definice funkce považujete za správnou.
function getData () { };
var getData = function() { };
var getData = function getData() { };
prvni dve
první definuješ funkci s názvem getData, druhá do proměnné getData si dáš funkci. Obojí je správně
Ta třetí je obojí dohromady, je to dáké zhulené. Fakt Ti to interpret vezme?
Jasně, zkus to na jsfiddle.net (http://jsfiddle.net)
viz komentář od Eric Hamilton na http://ejohn.org/blog/javascript-as-a-first-language/ (http://ejohn.org/blog/javascript-as-a-first-language/)
Citace
Unless you want your call stacks to look like:
(Anonymous function)
...
You might want to change your example to: var getData = function getData() { };
When you name your function expressions, that name is only used inside that function, so it doesn't conflict with the getData variable outside the function.
I zde ve článku Petra Staníčka je tento zápis použit. Zdůvodnění stejné jako v předchozím případě.
http://www.zdrojak.cz/clanky/javascript-a-oblast-pusobnosti-promennych-dil-prvni/nazory/ (http://www.zdrojak.cz/clanky/javascript-a-oblast-pusobnosti-promennych-dil-prvni/nazory/)
Zajímalo by mě kdy kterému zápisu dát přednost, např. John Resig píše:
//
Don't do this:
function getData() { }
// Do this instead:
var getData = function() { };
Správně jsou všechny tři možnosti. Třetí varianta umožňuje přistupovat k objektu funkce stejně jako přes arguments.callee:
a = function callee() {
callee.b = 1;
};
a();
alert(a.b); // Vypíše 1