Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: st  17. 09. 2012, 19:56:37
		
			
			- 
				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/)
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