В этой статье суммируются общие проблемы в определении функции JavaScript. Он содержит общие ошибки, допущенные новичками. Поделитесь этим для вашей ссылки. Конкретное резюме заключается в следующем:
1. В то же время, что и объявление функции, двигатель JS также определяет переменную с тем же именем, что и имя функции. Когда мы называем эту функцию, мы на самом деле используем эту переменную, и ее можно вызвать до объявления функции, например,
foo (); // переменная функции фактически используется здесь функция foo () {alert ('hello'); }2. Выражение функции, в настоящее время анонимная функция назначается переменной, которую необходимо использовать после определения, например,
foo (); // сообщается об ошибке, неопределенная var foo = function () {alert ('hello'); }3. Выражение функции (с именем функции), этого использования лучше всего избежать. В настоящее время имя функции доступно только внутри браузеров, не имеющих в браузерах, например, не
бар (5); // сообщается об ошибке, неопределенная var bar = function foo (n) {if (n == 1) return 1; иначе вернуть n * foo (n - 1); } foo (5); // не сообщается о ошибке IE, неопределенной полосе (5); //Правильный4. Определение с конструктором функций, этот метод неэффективен. Каждый раз, когда выполняется функция, ее корпус функции будет проанализирован один раз. Кроме того, функция, объявленная таким образом, не будет наследовать объем заявленного текущего местоположения. Например, он будет иметь только глобальную область по умолчанию.
function foo () {var bar = 'hello'; возврат функции ('alert (bar)'); // сообщается об ошибке, глобальная полоса переменной не определена} foo () ();Я полагаю, что описание в этой статье имеет определенную справочную ценность для изучения каждого веб -программирования JavaScript.