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

Tutorial básico de JavaScript

Objeto de JavaScript

Función de JavaScript

HTML DOM de JS

BOM del navegador JS

Tutorial básico de AJAX

Manual de referencia de JavaScript

Definición de función de JavaScript

Las funciones le permiten definir un bloque de código, nombrarlo y ejecutarlo repetidamente según sea necesario.

Se puede definir una función utilizando la palabra clave function, o ejecutar una función utilizando el operador ()

Declaración de función

En la parte anterior de este tutorial, usted ha aprendido a usar la siguiente sintaxisDeclaraciónFunción:

function nombreDeFunción(parametros) {
  // 要执行的语句
}

Las funciones declaradas no se ejecutan inmediatamente. Las funciones declaradas solo nombran la función y especifican las operaciones que se realizan cuando se llama a la función.

function greet() {}}
   document.write("¡Hola, Mundo!");
}
Prueba ver‹/›

En el ejemplo anterior, ya hemos declarado (definido) una función llamada greet que muestra un mensaje "¡Hola, Mundo!" Puede llamar a esta función utilizando el operador () como greet().

Expresión de función

JavaScript permite asignar funciones a variables y luego usar esa variable como función. Se llamaExpresión de función

//Las expresiones de función se pueden almacenar en variables
var sum = function(a, b) {
return a + b;
);
// Esta variable se puede usar como función
var x = sum(100, 8);
Prueba ver‹/›

La función superior es realmente unaFunción anónima(Función sin nombre).

Las funciones almacenadas en variables no necesitan nombre de función. Siempre utilice el nombre de la variable para llamarlas.

La función superior termina con un punto y coma porque es parte de una instrucción ejecutable.

Elevación de funciones

En la parte anterior de este tutorial, usted ha aprendidoElevación de JavaScript

La elevación es el comportamiento predeterminado de JavaScript para mover las declaraciones al principio del ámbito actual.

Por lo tanto, se puede llamar a la función antes de declarar la función JavaScript:

// Llamada a función antes de la declaración
greet();
function greet() {}}
  document.getElementById("output").innerHTML = "Hola Mundo";
}
Prueba ver‹/›

使用表达式定义的函数不会被提升。

自执行匿名函数

可以使函数表达式“自执行”。

自执行是一种JavaScript函数,它在定义后立即运行。

自动调用(启动)自执行表达式,而不需要调用它。也称为IIFE(立即调用的函数表达式)。

如果函数表达式后跟(),则函数表达式将自动执行。

(function () {
  // 要执行的语句
})();
Prueba ver‹/›

将IIFE分配给变量将存储函数的返回值,而不是函数定义本身:

let result = (function () {
let name = "Seagull"; 
return name; 
})(); 
//立即创建输出
result;   // "Seagull"
Prueba ver‹/›

以下示例演示如何将参数传递给IIFE(立即调用的函数表达式):

(function (x, y) {
  document.getElementById("output").innerHTML = x + y;
})(5, 10);
Prueba ver‹/›

回调函数

回调函数是将作为参数传递给另一个函数的函数,然后在外部函数中调用它以完成某种例程或操作。

function greet(name) {
  alert("Hola " + name);
}
function processInput(callback) {
  let name = prompt("Por favor, ingrese su nombre:");
  callback(name);
}
// 将greet函数作为参数传递给processInput函数
processInput(greet);
Prueba ver‹/›

上面的示例是一个同步回调,因为它将会立即执行。

但是,回调通常用于在异步操作完成后继续执行代码。

递归

递归是一种迭代操作的技术,通过使函数重复调用自身直到获得结果。

以下示例演示如何使用递归获取数字的阶乘:

var factorial = function(number) {
  if (number <= 0) {
 return 1;
  } else {
 return (number * factorial(number - 1));
  }
);
document.getElementById("output").innerHTML = factorial(5);
Prueba ver‹/›

Función flecha

Hasta ahora, hemos presentado cómo definir funciones utilizando la palabra clave function.

Pero, desde ECMAScript 6Desde el principio, hubo una actualización, un método más conciso para definir una llamadaFunción flechaExpresiónFunción

Es conocido que,Función flechaSe representa con un igual seguido de un mayor que: =>.

//Expresión de función
var sum = function(x, y) {
   return x + y;
}
// Función flecha
const sum = (x, y) => x + y;
Prueba ver‹/›

Las funciones flecha no tienen su propio this. No son adecuadas para definirMétodos de objeto

Las funciones flecha no se elevan. Deben definirse primero,Luego, utilícelosEllos.

Usar const en lugar de var es más seguro, porque la expresión de función siempre es constante.

Se puede omitir la palabra clave return y los corchetes si la función es una única sentencia. Por lo tanto, puede ser una buena costumbre mantenerlos.

Solo se puede omitir la palabra clave return y los corchetes cuando la función es una única sentencia. Por lo tanto, es una buena costumbre mantenerlos siempre.

const sum = (x, y) => { return x + y };
Prueba ver‹/›