美文网首页
js 的自执行

js 的自执行

作者: 龙权 | 来源:发表于2016-03-25 21:21 被阅读20次
    // Either of the following two patterns can be used to immediately invoke
      // a function expression, utilizing the function's execution context to
      // create "privacy."
    
      (function(){ /* code */ }()); // Crockford recommends this one
      (function(){ /* code */ })(); // But this one works just as well
    
      // Because the point of the parens or coercing operators is to disambiguate
      // between function expressions and function declarations, they can be
      // omitted when the parser already expects an expression (but please see the
      // "important note" below).
    
      var i = function(){ return 10; }();
      true && function(){ /* code */ }();
      0, function(){ /* code */ }();
    
      // If you don't care about the return value, or the possibility of making
      // your code slightly harder to read, you can save a byte by just prefixing
      // the function with a unary operator.
    
      !function(){ /* code */ }();
      ~function(){ /* code */ }();
      -function(){ /* code */ }();
      +function(){ /* code */ }();
    
      // Here's another variation, from @kuvos - I'm not sure of the performance
      // implications, if any, of using the `new` keyword, but it works.
      // http://twitter.com/kuvos/status/18209252090847232
    
      new function(){ /* code */ }
      new function(){ /* code */ }() // Only need parens if passing arguments

    相关文章

      网友评论

          本文标题:js 的自执行

          本文链接:https://www.haomeiwen.com/subject/kjlhlttx.html