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 に答える