No mundo do JavaScript, existem muitas maneiras de definir funções, o que é um reflexo da flexibilidade de JavaScript, mas é esse motivo que deixa os iniciantes confusos, especialmente para estudantes que não têm uma base de idiomas. Como diz o ditado, todas as estradas levam a Roma, mas se houver muitas estradas, isso fará com que o viajante perca porque ele não sabe qual estrada é o caminho certo a seguir. Haha, estou falando bobagem e vou falar menos, ler o código primeiro:
A cópia do código é a seguinte:
/*O primeiro método usa a declaração de função, o formato é o seguinte*/
função fn () {
alerta ("Esta é a declaração de função para definição de função");
}
fn ();
/*O segundo método, use o construtor function () para clonar a função*/
var f = nova função ("a", "b", "alerta (a+b)");
F (a, b);
De fato, é equivalente ao seguinte código:
função f (a, b) {
alerta (a+b);
}
/*O terceiro método é usar a função para contar diretamente*/
var zhenn = function () {
alerta ("zhen");
}
zhenn ();
Entre eles, os métodos de uso de "declarações de função" e usando "Quantidade direta da função" para definir funções parecem ser mais comuns e fáceis de entender, por isso não vou dizer muito sobre isso aqui. Geralmente, raramente é usado para clonar funções usando o construtor function (), porque uma função geralmente consiste em múltiplas instruções. Se eles forem passados como uma string como um parâmetro, ela inevitavelmente tornará o código que a legibilidade é ruim.
Deixe -me mencionar o construtor a propósito. De fato, de uma perspectiva literal, o construtor parece ser uma função. De fato, não é uma função, mas apenas um modelo de função. Para dar um exemplo inadequado, o construtor é equivalente a um carro recém -montado. Seja longe ou perto, é um carro, mas ainda não foi reabastecido (representa uma etapa necessária antes do uso), para que não possa começar. Se você deseja que o carro dirija normalmente, deve adicionar óleo. De fato, esse processo é equivalente à instanciação do construtor; caso contrário, não será executado normalmente! Veja o seguinte exemplo:
A cópia do código é a seguinte:
função fn () {// define o construtor
this.Elem = "Aqui está o construtor function () para definir a função, haha";
this.fn = function () {
alerta ("Isso é para definir a função usando o construtor function (), hehe");
}
}
var f = novo fn (); // Instanciação
alerta (F.Elem);
f.fn ();