0

我检查 NS.ajax 是否存在。如果是这样,我不需要重新定义它。如果它不存在,我重新定义它。

我想验证这是否符合我的想法,如果我已经定义了 NS.ajax,我不会浪费时间解释下面的函数。

NS.ajax 与下面看到的匿名函数相同。

有人可以验证吗?

/*ajax
**
**
**
*/
$P.ajax = (function () {
    if (NS.ajax) {
        return NS.ajax;
    }
    return function (config) {
        var xhr;
        if (config.type === 'get') {
            xhr = new window.XMLHttpRequest();
            xhr.open('GET', config.url, true);
            xhr.onreadystatechange = function () {
                if (this.readyState === 4) {
                    if (this.status === 200) {
                        config.callback(xhr.responseText);
                    } else {
                        return false;
                    }
                }
            };
            xhr.send(null);
            return;
        }
    };
}());
4

2 回答 2

2

做就是了:

$P.ajax = NS.ajax || (function () {
...
});
于 2013-03-04T21:01:16.647 回答
1

NS.ajax您可以在同一行中返回或您自己的函数。

return NS.ajax || function (config) {...
于 2013-03-04T21:00:35.740 回答