菜单

循序渐进

    Java Oracle MySQL Bash Python Nginx Apache Redis MongoDB Git HTML Javascript Node CSS

最近来访

    javascript进阶.立即调用的函数表达式

    张嘉杰.原创 2014-10-22 javascript

    周末和同事赖宝谈到了javascript匿名函数闭包的问题,首先匿名函数的好处在于,可以减少局部变量,以免污染现有的运行环境。匿名函数最大的用途是创建闭包 (这是javascript语言的特性之一)。jQuery等库都用到了这样的原理。下面直接来看一些常见和特殊的立即调用的函数表达式。

    // 常见的几种写法 
    new function(){ ... }();
    var f = function(){ ... }();
    (function(){ ... }());
    (function(){ ... })();
    ;(function(){ ... }());
    
    // 对于返回值没有特别的要求的可以这样写
    !function(){ ... }();  // => true
    ~function(){ ... }();  // => -1
    +function(){ ... }();  // => NaN
    -function(){ ... }();  // => NaN
    
    // 稍微特殊一点儿的可以这样写
    delete function(){ ... }(); // => true
    typeof function(){ ... }(); // => "undefined"
    void function(){ ... }();   // => undefined
    
    1, function() {}();  // => undefined
    1 ^ function() {}(); // => 1
    1 > function() {}(); // => false
    
    [function(){ ... }()]; // => 返回数组

    OK,今儿先到这儿了。:)


    相关参考文章地址:

    Immediately-Invoked Function Expression - http://benalman.com/news/2010/11/immediately-invoked-function-expression/
    self-executing anonymous functions - http://www.paulirish.com/2010/10-things-i-learned-from-the-jquery-source/

    版权属于:jcore.cn

    原文地址:http://www.jcore.cn/2014/10/22/javascript-immediately-invoked-function

    除非注明,文章均为原创,转载时必须以链接形式注明原始出处。

    分享文章到:

    热门推荐文章