Cómo entender el constructor en jquery
El constructor en jquery aprovecha al máximo las características dinámicas del lenguaje javascript. Dado que no existen requisitos estrictos sobre el tipo y número de referencias de filas, una función puede cumplir múltiples requisitos funcionales. A continuación, presentaré en detalle el constructor jQuery en el artículo, que tiene un cierto efecto de referencia y espero que sea útil para todos.
Tutorial recomendado: tutorial de jQuery
jQuery es una biblioteca js orientada a objetos que también contiene constructores. Cada vez que se llama a un método jQuery, se crea una instancia de un objeto jQeury, pero la forma en que se escribe jQuery es mucho más compleja.
En el estándar ECMA, JS define un objeto: una colección desordenada de propiedades que puede contener valores, objetos o funciones básicos. Se puede entender simplemente que un objeto JS es un conjunto desordenado de valores, en el que las propiedades o métodos tienen un nombre, según el cual se puede acceder al valor asignado, y el valor asignado puede ser un valor, objeto o método básico. /p>
Ejemplo: El caso de las funciones constructoras en JavaScript
function Estudiante(nombre, edad) {
this.name = nombre;
this.age = edad;
}
Estudiante.prototipo = {
constructor: Estudiante,< p>
demostración: función() {
document.write(este.nombre+"este año "+esta.edad+"edad");
}
}
}
var stu1 = nuevo Estudiante("Xiaoming", 20);
stu1.demo();
Figura del efecto:
Echemos un vistazo a cómo está escrito el constructor en jQuery
var jQuery = function(selector, context) {
devolver nuevo jQuery.fn. init(selector, contexto, rootjQuery);
}
jQuery.fn = jQuery.prototype = {
init: function (selector, contexto. rootjQuery) {
// ...}
}
jQuery.fn.init.prototype = jQuery.fn; El código anterior está en el código clave del constructor de jQuery. Puede ver que el constructor real en jQuery es el método init. Cuando llamamos a jQuery, devolveremos el resultado de new init(), no de new jQuery(), ni de new jQuery( ). Es decir, no hay necesidad de new jQuery() cuando se crea una instancia del objeto.
jQuery.fn = jQuery.prototype = {...}
jQuery.fn.init.prototype = jQuery.fn Esto significa que la función es el objeto prototipo de jQuery; , Implementa la creación de instancias de objetos.
Finalmente, el objeto prototipo de jQuery se restaurará al objeto prototipo init(), por lo que la función init() tiene todos los métodos del prototipo jQuery
Resumen: