js函数前问号的作用 封装的mui的ajax请求函数

来源:互联网 发布:中国独立电影 知乎 编辑:程序博客网 时间:2024/06/09 16:47

今天学到的一个知识,并不是很完整的,希望能帮到一些开发者解决小问题。
一.js函数前面加分的作用
总是看到网上别人发布的一些源码的函数名的前面会加上分号,就很好奇加分号的作用是什么,于是就去百度了一下,作用见下文,如有错误和不完整的地方,欢迎大神们知道纠正。

    1. 防止多文件集成成一个文件后,高压缩出现语法错误。
    2. 这是一个匿名函数,一般js库都采用这种自执行的匿名函数来保护内部变量 (function(){})();

二.封装好的mui的ajax请求函数

这是一个封装好的mui框架的ajax请求函数,它可以用来处理请求超时的自动回调函数,重新请求。

;mui.web_query = function(func_url, params, onSuccess, onError, retry){

    var onSuccess = arguments[2]?arguments[2]:function(){};

    var onError = arguments[3]?arguments[3]:function(){};

    var retry = arguments[4]?arguments[4]:3;

    func_url = 'http://www.xxxxxx.com/ajax/?fn=' + func_url;

    mui.ajax(func_url, {

        data:params,

        dataType:'json',

        type:'post',

        timeout:3000,

        success:function(data){

            if(data.err === 'ok'){

                onSuccess(data);

            }

            else{

                onError(data.code);

            }

        },

        error:function(xhr,type,errorThrown){

            retry--;

            if(retry > 0) return mui.web_query(func_url, params, onSuccess, onError, retry);

            onError('FAILED_NETWORK');

        }

    })

};

调用时的语句:

<pre name="code" class="html" style="font-size: 18px; font-weight: bold;">var params = {per:10, pageno:coms_current_pageno};mui.web_query(url, params, onSuccess, onError, 3);//这里的url是你想要调用的API的接口地址,params你想要提交的函数,3是你自定义的超时时限




0 0