English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Existem dois tipos de maneiras de definir funções em JS:
(1)Declaração de função típica
function slide(arguments){ //...código }
(2)Definindo função em forma de expressão
var slide = function(arguments){ //...código }
Embora os dois métodos sejam logicamente equivalentes, ainda há algumas diferenças pequenas:
Diferença um:No exemplo um, a função é carregada para o escopo antes da execução do código, enquanto no exemplo dois, a definição ocorre apenas na linha onde o código é executado;
Diferença dois:A declaração de função atribui um nome à função, enquanto a expressão de função cria uma função anônima e a atribui a uma variável;
Veja o exemplo a seguir:
function factorial(num){ if(num<=1){ return 1; } else { return num*arguments.callee(num-1); } } var anotherFactorial = factorial; factorial = null; console.log(anotherFactorial);//Saída factorial(){},com nome de função
Se definido como expressão de função
var factorial = function(num){ //...código } //...código console.log(anotherFactorial);//Saída function(){},função anônima
Isso é tudo que o editor trouxe para você sobre uma breve discussão sobre a diferença nas maneiras de definir funções JS, esperamos que você dê mais apoio ao Guia de Grito ~