javascript高级程序设计之--自运行函数

什么是自运行函数?

顾名思义.就是不用调用,自己自动就会执行的函数;

为什么要用自运行函数?

自运行函数内部是一个独立的作用域,这样就保持了一个相对独立的命名空间,避免污染全局作用域

怎么创建自运行函数?

写法一:(function(param){…})(re—param);
写法二:(function(param){…}(re-param));
非主流写法:在函数体前使用“+”,“-”,“!”;如!function(param){...}(re-param)同”()“一样,这些符号的作用是将匿名函数或者函数声明转化为函数表达式;

举个栗子:

//写法一
            (function(params) {
                console.log(params)
            })("呵呵");//呵呵
            //使用+;
            +function (params) {
                console.log(params)
            }("呵呵");//呵呵
            // 使用-;
            -function (params) {
                console.log(params)
            }("呵呵");//呵呵
            // 使用!
            !function (params) {
                console.log(params)
            }("呵呵");//呵呵
            //写法二
            (function (param){
                console.log(param)
            }("嘿嘿"));//嘿嘿
书写自运行函数的注意事项:
1.函数体后面必须要有(),表示立即执行嘛!
 2.函数体必须是函数表达式而不是函数声明;

函数体是函数声明的形式:

举个栗子

(function Alert(param,param1){
                console.log(param+param1)
            })("Alibaba","Tecent");//不是说自运行函数,函数体不能使用函数声明嘛?为什么这里可以使用呢?,
                                    //因为这里使用了()包裹着了函数体,将原函数声明转化为了函数表达式,同理其他符号也是一样
            +function Alert(param, param1) {
                console.log(param + param1)
            }("Alibaba", "Tecent")










你可能感兴趣的:(javascript高级程序设计之--自运行函数)