javascript的闭包

“闭包”,既封闭自身,在外部没有得到授权之前,不能访问自己。同时,也可以影响外部。

 (function () {
    Request = { getParameter: getParameter};

    function getParameter(paraName, wnd) {
        if (wnd == null) wnd = self;

        //得到地址栏?后面的字符串
        var paraStr = wnd.location.search.slice(1);

        //分割&
        var paraList = paraStr.split(/\&/g);

        for (var i = 0; i < paraList.length; i++) {
            var pattern = new RegExp("^" + paraName + "[?=\\=]", "g");

            if (pattern.test(paraList[i])) {
                return decodeURIComponent(paraList[i].split(/\=/g)[1]);
            }
        }
    }
})();

形如上述代码。 Request={getParameter:getParameter}; 为function getParameter提供了一个访问入口,而实体函数在外部是访问不到的。 调用采用如下方式。 alert(Request.getParameter(“x”));

Categories:

Updated: