La función de palabra clave se usa para definir una función.
La copia del código es la siguiente:
// Función Definición declarativa:
función funcname ([arg1 [, args [..., argn]]]) {
declaraciones
}
// Definición de expresión de la función:
var funcname = function ([arg1 [, args [..., argn]]]) {
declaraciones
};
Tenga en cuenta que se requieren aparatos rizados en las declaraciones de función, incluso si el cuerpo de la función contiene solo una declaración.
En JavaScript, las funciones son instancias específicas de clase de función. Y todos tienen propiedades y métodos como otros tipos de referencia.
El nombre de la función es en realidad un puntero al objeto de función, y la función puede usarse como un parámetro para participar en el valor de transferencia y retorno de parámetros.
Propiedades del objeto de las funciones
Debido a que una función es una instancia de una función, el nombre de la función es solo una dirección de referencia de esa instancia. Por lo tanto, puede usarse como parámetros y valores de retorno en el proceso de transferencia de parámetros de la función.
La copia del código es la siguiente:
función call_some_function (some_function, some_argument) {
devolver some_function (some_argument);
}
función add_10 (num) {
devolver num + 10;
}
console.log (call_some_function (add_10,20)); // 30
Propiedades internas de una función
Argumentos | este
• El objeto de argumentos contiene parámetros pasados a la función
• argumentos. Longitud devuelve el número de parámetros entrantes
• Nota: El atributo de longitud representa el número de parámetros recibidos por defecto cuando se define la función. argumentos.length representa el número de parámetros recibidos cuando la función realmente se ejecuta.
La copia del código es la siguiente:
función test_arGuments () {
if (arguments.length == 2) {
console.log (argumentos.length);
console.log (argumentos);
} demás {
console.log (argumentos.length);
console.log (argumentos);
argumentos.callee (4, 5);
};
} (1, 2, 3)
/**
3
{'0': 1, '1': 2, '2': 3}
2
{'0': 4, '1': 5}
**/
• Argumentos.callee () se usa principalmente en la situación donde la función en sí misma se llama en funciones recursivas. La diferencia entre JS y otros idiomas es que el nombre de la función es solo un puntero y se puede cambiar en cualquier momento. El nombre de la función en la función está altamente acoplado, lo que puede causar problemas, y la llamada a los argumentos. Callee () en sí evitará este problema.
La copia del código es la siguiente:
función factorial (num) {
if (num <= 1) {
regresar 1;
} demás {
devolución num * factorial (num - 1);
};
}
función callee_f (num) {
if (num <= 1) {
regresar 1;
} demás {
devuelve num * argumentos.callee (num - 1);
};
}
factorial (10); // operar normal
F = factorial;
factorial = nulo;
f (10); //error
callee_f (10); // operar normalmente
F = Callee_f;
callee_f = null;
f (10); // operar normal
• Esto se usa principalmente para ayudar a las funciones a referirse a los objetos en el alcance de la función.
La copia del código es la siguiente:
var color = 'rojo';
función syacolor () {
console.log (this.color);
}
syacolor (); //rojo
var o = nuevo objeto ();
o.color = 'azul';
O.SayColor = SayColor;
O.SayColor (); //azul
llamar () y aplicar ()
llamar () y aplicar () son métodos propios que cada función contiene. Se ha mencionado anteriormente que las funciones son objetos definidos, por lo que al llamar a las funciones, esto en la función es una llamada a las variables actuales y más bajas. Si desea cambiar el espacio de dominio donde se ejecuta la función, puede usar Call () y aplicar () para implementarlo.
La copia del código es la siguiente:
color = 'rojo';
var o = {color: 'azul'};
función sayscolor () {
console.log (this.color);
}
SayColor (); //rojo
saycolor.call (esto); //rojo
saycolor.call (o); //azul
Las funciones de App () y Call () son las mismas, y la diferencia es principalmente la diferencia en los parámetros entrantes.
Llame (esto, para1, prar2, prar3) El primer parámetro es el alcance de la función que se ejecutará. El parámetro posterior es el parámetro de entrada de la función, y hay muchas veces escritas en secuencia.
Aplicar (esto, [PARA1, PARA2, PRARA3]) El primer parámetro también es el alcance de la función que se ejecutará, seguido de un objeto de matriz.
El mayor beneficio de usar Call ()/Aplicar () para expandir el alcance es el desacoplamiento de objetos y métodos.
Objetos incorporados
Los objetos globales pueden entenderse como el objeto más externo, todos los objetos, así como los atributos y métodos que no pertenecen a otros objetos se incluyen en el objeto global.
* ISNAN (X) se usa para verificar si el parámetro X es un número. Si el falso se devuelve para un número, devuelve verdadero de lo contrario
* Isfinite (x) se usa para verificar si el parámetro x es infinito/pequeño. Si es infinito/pequeño, devuelve verdadero.
* Parseint (x) se usa para analizar las cadenas y devolver enteros
* Parsefloat (x) se usa para analizar las cadenas y devolver números de punto flotante
* Encodeuri () y CodeRiComponent () realizará una codificación especial de UTF-8 en la cadena, evitando algunos caracteres especiales para que el navegador lo entienda. La principal diferencia entre ellos es que Codeuri () no codifica caracteres especiales que pertenecen al URI, mientras que CodeuricOponent () codifica todos los caracteres no estándar que encuentra.
La copia del código es la siguiente:
var uri = "http://www.wrox.com/illegal value.htm#inicio";
//http://www.wrox.com/illegal%20value.htm#start
console.log (encodeuri (uri))
//http%3A%2F%2Fwww.wrox.com%2Fillegal%20Value.htm%23Start
console.log (encodeuricomponent (URI))
• Las funciones de decodificación correspondientes son Decodeuri () y DecodeuricOponent ()
• Eval (script) se usa para ejecutar contenido de script en el intérprete y devolver el resultado correspondiente. ¡Muy poderoso!
Nota: En el navegador, los objetos de Windows encapsulan objetos globales y realizan muchas tareas y funciones adicionales.
El objeto matemático es otro objeto incorporado. Proporciona funciones de cálculo matemático para JavaScript.
Lo anterior se trata de este artículo. Espero que te guste y te sea útil.