回调的Javascript可选参数

回调的Javascript可选参数,javascript,Javascript,我想做一些类似于$.ajax()成功和错误回调的事情 这就是我到目前为止所做的: var FileManager = { LoadRequiredFiles: function (onLoadingCallback, onCompleteCallback) { //Not sure what to do here this.OnLoading = onLoadingCallback;

我想做一些类似于
$.ajax()
成功和错误回调的事情

这就是我到目前为止所做的:

var FileManager = {
            LoadRequiredFiles: function (onLoadingCallback, onCompleteCallback) {
                //Not sure what to do here
                this.OnLoading = onLoadingCallback;
                this.OnCompleteCallback = onCompleteCallback;

                this.OnLoading();
                this.OnComplete();
            },
            OnLoading: function () {
                //empty by default
            }
            OnComplete: function () {
                //empty by default
            }

};
//I want to do something like this:
FileManager.LoadRequiredFiles({OnLoading: function() {
            alert('loading');
       }
});

我怎样才能把它修好?我正在使用
FileManager
作为我的命名空间。

您可以检查函数是否已定义:

var FileManager = {
    LoadRequiredFiles: function (config) {
        config = config || {};
        this.OnLoading = config.onLoadingCallback;
        this.OnCompleteCallback = config.onCompleteCallback;

        if(typeof this.OnLoading =='function') {
            this.OnLoading();
        }

        //Or use the shortcut:
        if(this.OnComplete) {
            this.OnComplete();
        }
    }
};

FileManager.LoadRequiredFiles(
    {
        onLoadingCallback: function() {
            alert('loading');
       }
    }
);

您可以检查功能是否已定义:

var FileManager = {
    LoadRequiredFiles: function (config) {
        config = config || {};
        this.OnLoading = config.onLoadingCallback;
        this.OnCompleteCallback = config.onCompleteCallback;

        if(typeof this.OnLoading =='function') {
            this.OnLoading();
        }

        //Or use the shortcut:
        if(this.OnComplete) {
            this.OnComplete();
        }
    }
};

FileManager.LoadRequiredFiles(
    {
        onLoadingCallback: function() {
            alert('loading');
       }
    }
);

设置参数怎么样?我不知道我所做的是否正确,以匹配我希望能够调用该方法的方式。设置参数如何?我不知道我所做的是否正确,以匹配我希望能够调用该方法的方式。