English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Breve discussão sobre as diferenças nas maneiras de definir funções do JavaScript

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 ~

Você também pode gostar