首页  >  问答  >  正文

javascript - 挂载到window的方法不能执行了?

window.aaa = (function($) {
    var bbb = (function() {
      alert(1);
    })();
})(Zepto);

这个是一个封装好的脚本。但怎么在外面调用bbb?

aaa是挂载在window的,但是aaa.bbb()不能执行到

大家讲道理大家讲道理2734 天前651

全部回复(2)我来回复

  • 给我你的怀抱

    给我你的怀抱2017-05-19 10:16:29

    你及时函数理解错了:

                1、(function(){})();即时函数,会执行一遍;
                    注:window.aaa = (function($) {
                        })(Zepto);
                       你这里的 window.aaa是没有用的 是undefined;
                       你里面的bbb函数也是一样,
                       
                      你外面当然访问不到呀!

    虽然不太明白你想怎样去调用,看你aaa是挂载在window的,但是aaa.bbb()不能执行到这句话 那你可以改成:

    window.aaa = (function($) {
    
        var bbb = (function() {
            alert(1);
        });
        return {bbb:bbb};
    })(Zepto);

    外面就可以aaa.bbb();这样写的话,在bbb方法里的得注意闭包、变量的作用域的问题哈~!

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:16:29

    用module.export 暴露出去,外面require。

    回复
    0
  • 取消回复