我已经开始使用这种JavaScript模式了.它有什么问题吗?

ale*_*lex 6 javascript

我已经开始在JavaScript中使用这种模式.我不确定我是否专门阅读了它,或者我是否有一天想起它.

格式是......

var name = (function() {

    var init = function() {
       // Init something
       $('a').click(show);
    };

    var show = function() {
       // Show something
    };

    $(init);

})();
Run Code Online (Sandbox Code Playgroud)

这是一个现实世界的例子......

var contactForm = (function() {
    var init = function() {

         if ( ! $('body').hasClass('contact')) {
            return;
         };

         var form = $('.contact #content form');

         form.validate({
              rules: {
                  'full-name': {
                      required: true
                  },    
                  'email': {
                      required: true,
                      email: true
                  },    
              },
              messages: {
                  'email': {
                      email: 'Please make sure this email is valid.'
                  }

          }
          }); 

    };

    $(init);

})();
Run Code Online (Sandbox Code Playgroud)

这有什么不对吗?

sim*_*aun 0

不,我实际上做了几乎同样的事情,但你为什么打电话而不是$(init)直接打电话init()