Call functions from function inside an object (object literal)

前端 未结 3 687
粉色の甜心
粉色の甜心 2020-12-13 03:49

I\'m learning to use object literals in JS, and I\'m trying to get a function inside an object to run by calling it through another function in the same object. Why isn\'t t

相关标签:
3条回答
  • 2020-12-13 04:24

    There is nothing magical about the init property of an object, which you happen to have assigned a function to. So if you don't call it, then it won't run. No functions are ever executed for you when constructing an object literal like this.

    As such, your code becomes this:

    var runApp = {
        init: function(){   
             this.run()
        },
        run: function() { 
             alert("It's running!");
        }
    };
    
    // Now we call init
    runApp.init();
    
    0 讨论(0)
  • 2020-12-13 04:26

    That code is only a declaration. You need to actually call the function:

    runApp.init();
    

    Demo: http://jsfiddle.net/mattball/s6MJ5/

    0 讨论(0)
  • 2020-12-13 04:39

    You can try the following code. It should work:

    var runApp = {
    
      init: function(){   
         runApp.run()
      },
    
      run: function() { 
         alert("It's running!");
      }
    };
    
    0 讨论(0)
提交回复
热议问题