Estoy aprendiendo a usar literales de objeto en JS, y estoy tratando de conseguir una función dentro de un objeto para que se ejecute por medio de una llamada a través de otra función en el mismo objeto. ¿Por qué no la función «ejecutar» se ejecuta cuando se llama desde la función «init»?

var runApp = {

    init: function(){   
         this.run()
    },

    run: function() { 
             alert("It's running!");
    }
};
InformationsquelleAutor holyredbeard | 2011-11-21

2 Comentarios

  1. 10

    No hay nada mágico acerca de la init propiedad de un objeto, que le sucede que tiene asignada una función. Así que si usted no llama, entonces no se ejecuta. No hay funciones que nunca se ejecutan para usted a la hora de construir un literal de objeto como este.

    Como tal, el código se convierte en esto:

    var runApp = {
        init: function(){   
             this.run()
        },
        run: function() { 
             alert("It's running!");
        }
    };
    
    //Now we call init
    runApp.init();

Dejar respuesta

Please enter your comment!
Please enter your name here