Cuatro formas de existencia de funciones:
1. Morfología funcional
2. El formulario de método asigna una función a un miembro de un determinado objeto, que se denomina método.
3. Forma del constructor
4. Forma contextual
1. Formulario de función:
var foo = function () {alerta (this); // Esta es la ventana};2. Formulario de método:
o = {}; o.foo = foo; // Asignar función foo al atributo foo del objeto o.foo (); // El objeto aparece, y esto en este momento representa el objeto var lib = {test: function () {alert (this); // esto aquí representa el objeto (objeto lib) // var que = this; // Si desea que esto represente un objeto lib en una función anónima, puede hacer esto (function () {alerta (this); // La función anónima aquí no pertenece a un objeto lib, por lo que esto aún representa la ventana}) (); }}; lib.test ();3. Constructor (Constructor) var p = nueva persona ();
1. Nuevo crea un objeto y abre espacio
2. Pase la dirección de referencia del objeto a la función y recibala con esto en la función.
3. La ejecución del método de construcción termina, devuelva esto
var persona = function () {this.age = 19; this.name = "mrjing"; return "{}";}; var p = nueva persona (); alert (p.name); // La ventana emergente no está definida. Dado que la función devuelve un objeto, el objeto se devuelve directamente a la persona y se ignora el atributo de edad y nombre var persona = function () {this.age = 19; this.name = "mrjing"; return 123;}; var p = nueva persona (); alerta (p.name); // aparece "Mrjing". Dado que el valor de retorno no es un objeto, el valor de retorno alerta (p); // Objetivo Popt UpLas cosas que se han cambiado incluyen: el constructor cambia el valor de retorno de la función; Si el valor de retorno de la función es un objeto, entonces regrese de acuerdo con el valor de retorno; Si el valor de retorno no es un objeto, ignore el valor de retorno y devuelva directamente esto;
4. Función de patrón de llamadas de contexto. Apply (Object, [Lista de parámetros])
var foo1 = function (a, b) {alerta (this); devolver a> b? a: b;}; var num = foo1.apply (nulo, [112, 34]); // En este momento foo1 es una forma de función, esto significa windownum = foo1.apply ({}, [112, 34]); // En este momento, foo1 es una forma de método, esto significa que el objeto pasa en el parámetro {}function.call (objeto, lista de parámetros);
var num1 = foo1.call (nulo, 112,34); num1 = foo1.call ({}, 112,34); // a excepción de la lista de parámetros, el resto es el mismo que se aplicaEl artículo anterior discute brevemente las cuatro formas de funciones de JavaScript. Este es todo el contenido que comparto con ustedes. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.