English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Существует два способа определения функций в JS:
(1) Традиционное объявление функции
function slide(arguments){ //...код }
(2) Определение функции в виде функционального выражения
var slide = function(arguments){ //...код }
Хотя这两种 методы логически эквивалентны, все же есть некоторые различия:
Отличие один:Функция в примере один будет загружена в область видимости до выполнения кода, а функция в примере два будет определена только в момент выполнения этого кода;
Отличие二号:Объявление функции assigns имя функции функции, в то время как функция выражения создает анонимную функцию и assigns ее переменной;
Посмотрите на следующий пример:
function factorial(num){ if(num<=1){ return 1; } else { return num*arguments.callee(num-1); } } var anotherFactorial = factorial; factorial = null; console.log(anotherFactorial); // Вывод factorial(){} (имеется имя функции)
Если определить как функциональное выражение
var factorial = function(num){ //...код } //...код console.log(anotherFactorial); // Вывод function(){} (анонимная функция)
Вот и все, что я могу предложить вам сегодня о различиях в определении функций JS. Надеюсь, вам это понравится и вы поддержите наш сайт!