Top
Fork me on Gitee My Github

关于匿名函数自执行

赋值式(将匿名函数赋给变量)表达式定义法    声明式
            var fn_01 = function(){
                alert("匿名函数");
            }
            fn_01(); //如果想调用fn_01函数,写该函数的名称,然后写小括号就可以了
            
 将一个匿名函数用小括号括起来,后面加一个小括号,表示匿名函数的自执行(可以防止变量污染)
            (function(){
                alert("匿名函数");
            })();
            
带参数的匿名函数自执行
            (function(a,b){   //形参:定义函数时接收数据的参数
                alert(a + b);
            })(1,2);
            
有返回值的匿名函数的自执行
            var res = (function(a,b){
                return a > b ? a : b;
            })(3,4);
            alert(res);
            
将一个匿名函数赋值给一个表达式,在该匿名函数后加一个小括号,表示匿名函数自执行
            var fn_02 = function(){
                alert("匿名函数");
            }();

            alert( fn_02 );
            var fn_03 = function(){
                return 23;
            }();
            alert( fn_03 );     //fn_02接收了匿名函数的返回值
            
拓展小知识:
            ~ function(){console.log("hello world1");}();
            ! function(){console.log("hello world2");}();
            + function(){console.log("hello world3");}();
            - function(){console.log("hello world4");}();


            delete function(){console.log("hello world5");}();
            void function(){console.log("hello world6");}();
            
            var result = 1 + function(){return 1}();
            alert(result);     //2
            
            (function(){console.log("hello world7");})();
            (function(){console.log("hello world8");}());
           

posted @ 2018-05-06 22:15  lisashare  阅读(236)  评论(0编辑  收藏  举报