JSFiddle - React, Tailwind, and code Playground
by Andrew Gerst
JavaScript
// jQuery Method Context
function bind(fnThis, fn){
var args = Array.prototype.slice.call(arguments, 2);
return function(){
if (0 < args.length) arguments = args;
return fn.apply(fnThis, arguments);
};
}
window.scope = "Global Scope";
window.myobject = {
scope: "Local Scope",
mymethod: function(){
console.log(this);
alert(this.scope);
}
};
// Undefined (there isn't a scope property in the document object)
$(document).ready(myobject.mymethod);
// Global Scope
$(document).ready(myobject.mymethod.bind(window));
$(document).ready($.proxy(myobject.mymethod, window));
// Local Scope
$(document).ready(function(){myobject.mymethod()});
$(document).ready(myobject.mymethod.bind(myobject));
$(document).ready(bind(myobject, myobject.mymethod));
$(document).ready($.proxy(myobject, "mymethod"));
$(document).ready($.proxy(myobject.mymethod, myobject));