Red de conocimiento informático - Material del sitio web - Cómo entender el constructor en jquery

Cómo entender el constructor en jquery

jQuery es una biblioteca js orientada a objetos, por lo que también tiene la función de constructor. Puede formar un constructor a través de las funciones prototipo e init (), y el constructor implementado por jQuery no necesita usar new para crear instancias de objetos. p>

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

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: