узнать правильно ли я понял, что лучше не создавать функции способом function expression?
You can also assign an anonymous function to be the value of a variable, for example:
var myGreeting = function() {
alert('hello');
}
This function could now be invoked using:
myGreeting();
This effectively gives the function a name; you can also assign the function to be the value of multiple variables, for example:
var anotherGreeting = function() {
alert('hello');
}
This function could now be invoked using either of
myGreeting();
anotherGreeting();
But this would just be confusing, so don't do it! When creating functions, it is better to just stick to this form:
function myGreeting() {
alert('hello');
}
function expression биндит твою функцию к имени на области видимости, оставляя её анонимной, named function declaration объявляет новую функцию у которой есть имя. попробуй разные варианты и посмотри как от этого меняется function.name. (function.name отображается в стак трейсе).
имей ввиду что function declaration хоистится, expression - нет
Обсуждают сегодня