美文网首页你不知道的JavaScriptJava 核心技术
javascript立即执行函数与模块化

javascript立即执行函数与模块化

作者: a333661d6d6e | 来源:发表于2018-10-29 17:48 被阅读4次

    概念:

    立即执行函数顾名思义就是函数定义好之后立即执行。

    函数表达式方式:

    函数表达式后面加括号()即可立即执行函数。

    var xmlhttpUtil = function () {
     function getText(url,callback){
     alert("dog");
    }();
    

    名函数方式:

    匿名函数不允许作为单独的语句直接出现于javascript中,因此要想立即执行函数,

    必须做出一些符合语法的改变:方法1、是将匿名函数赋值给一个变量,这就成了函数表达式,可在其后加括号立即执行。

    方法2、匿名函数外面套一个括号(这是js语法允许的),这就相当于成了函数表达式,然后再在其后加括号即可立即执行。

    function(b){
     alert(b);
     })(321);
    

    模块化:

    由于函数内部的变量不会污染全局作用域,因此立即执行函数可用于模块化,很多第三方库都采用了这种方式。

    var xmlhttpUtil = function () {
     function getText(url,callback){
     var request=new XMLHttpRequest();
     request.open("GET",url);
     request.send(null);
     request.onreadystatechange=function(){
     if(request.readyState===4 && request.status===200){
     var type=request.getResponseHeader("Content-Type");
     if(type.match(/^text/))
     callback(request.responseText);
     alert(request.responseText);
     }
     else {
     }
     }
     }
     let xmlHttpRequestObj={};
     xmlHttpRequestObj.getText=getText;
     return xmlHttpRequestObj;
    }();
    
    执行:
    
    
    xmlhttpUtil.getText("/dog",function () {
     alert("xmlhttprequest请求响应!");
    });
    

    javascript立即执行函数与模块化了解更多

    相关文章

      网友评论

        本文标题:javascript立即执行函数与模块化

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