Con el desarrollo de los tiempos, más y más marcos excelentes han aparecido en el campamento de JavaScript, que ha simplificado enormemente nuestro trabajo de desarrollo. Si no está satisfecho con solo usar algunas API preparadas, sino que comprende profundamente sus mecanismos de implementación internos (como alguien dice, las API son la depreciación más rápida), la mejor manera es leer su código fuente. es que puedes entenderlo.
He estudiado el código fuente de jQuery en los últimos dos días. Bien, echemos un vistazo a cómo funciona jQuery. Este artículo no es adecuado para amigos que no comprenden conceptos como clases, objetos, funciones, prototipos, etc. en JS.
Comencemos con el principio:
Primero, construya un objeto para el usuario, suponiendo que nuestro marco se llama shaka (mi nombre;)))
var shaka = function () {}; aquí creamos una función vacía con nada dentro, esta función es en realidad nuestro constructor. Para que el objeto generado llame a los métodos definidos en el prototipo, necesitamos agregar algunos métodos a Shaka en el prototipo (tomando Shaka como clase), por lo que definimos:
Shaka.fn = shaka.prototype = {};
Aquí, Shaka.fn es equivalente al alias de Shaka.Prototype, que es conveniente para el uso futuro.
Ok, agregamos un método para Sayhello y agregue un parámetro a Shaka, para que el marco más básico ya esté allí.
Ejecutar el cuadro de código
[CTRL+A TODOS SELECCIÓN SELECCIÓN: puede modificar primero algún código y luego presione Ejecutar]
Ok, no te emociones, notamos que hay algunas diferencias entre este marco y jQuery en uso, por ejemplo, en JQ podemos escribir de esta manera:
jQuery ('#myid'). somemethod ();
¿Cómo funciona esto?
var shaka = function () {return // return la instancia de shaka;
Entonces, ¿cómo obtenemos una instancia de Shaka? Función MyClass, es decir, el constructor de clase, y luego SomeObj obtiene los métodos definidos en MyClass.Prototype.