我检查是否存在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;
}
};
}());
答案 0 :(得分:2)
只是做:
$P.ajax = NS.ajax || (function () {
...
});
答案 1 :(得分:1)
您可以在同一行返回NS.ajax
或您自己的功能。
return NS.ajax || function (config) {...