"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cuál es la diferencia entre proto y constructor.prototype?

¿Cuál es la diferencia entre proto y constructor.prototype?

Publicado el 2024-11-19
Navegar:220

What\'s the Difference Between proto and constructor.prototype?

La distinción entre proto y constructor.prototype

Al trabajar con objetos JavaScript, comprender la diferencia entre proto y constructor.prototype es crucial. Mientras que proto apunta al prototipo directo de un objeto, constructor.prototype se refiere al objeto a partir del cual se creó la función que creó el objeto. Esta distinción puede llevar a resultados diferentes al atravesar cadenas de prototipos.

Recorrido de cadena de prototipos

Como se demuestra en el código proporcionado, se puede utilizar proto para recorrer la cadena prototipo de un objeto. En el ejemplo, proto se utiliza para recorrer la cadena de prototipos de newtoy, una instancia de la función Gadget. Cada llamada subsiguiente a proto asciende un nivel en la cadena y eventualmente devuelve nulo ya que no hay ningún prototipo más allá de Object.prototype.

Sin embargo, si constructor.prototype.constructor.prototype.constructor.prototype Cuando se utiliza, también asciende en la cadena del prototipo, pero finalmente devuelve la función Gadget inicial, ya que se refiere al prototipo a partir del cual se creó el constructor del Gadget. creado.

Comprobación nula en Internet Explorer

En Internet Explorer, donde la propiedad proto no está disponible, la cadena de prototipos se puede recorrer utilizando el captador prototipo en el objeto Función. El siguiente código demuestra cómo verificar si hay valores nulos:

function checkNull(obj) {
  while (obj = obj.prototype) {
    // Check if the prototype is null
  }
}
Declaración de liberación Este artículo se reimprime en: 1729476436 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3