JSFiddle - React, Tailwind, and code Playground

JavaScript

(function($) {
    var c$ = {'hha'};

    c$.TestScope = function() {

        this.doAjax = function(onComplete) {

            alert('doAjax1 this === c$.oTestScope: ' + (this === c$.oTestScope).toString());

            $.ajax({
                url: 'badurl',
                context: this,
                complete: function(data) {
                    alert('doAjax2 this === c$.oTestScope: ' + (this === c$.oTestScope).toString());
                    onComplete.call(this, data);
                }
            });
        };

        this.doStuff = function(data) {
            alert('doStuff this === c$.oTestScope: ' + (this === c$.oTestScope).toString());
        }

    };

    c$.oTestScope = new c$.TestScope();
    c$.oTestScope.doAjax(c$.oTestScope.doStuff);
})(jQuery);