Function.prototype.bind = function(){
var fn = this, args = Array.prototype.slice.call(arguments),
object = args.shift();
return function(){
return fn.apply(object,
args.concat(Array.prototype.slice.call(arguments)));
};
};
var myObject = {};
function myFunction(){
return this == myObject;
}
assert(!myFunction(), "Context is not set yet");
var aFunction = myFunction.bind(myObject)
assert(aFunction(), "Context is set properly");
Une petite modification du code de Jeffery m'a aidé à comprendre les arguments utilisés dans la fonction anonyme interne. Je viens de changer les 3 lignes ci-dessousExplication du code ninja de John Resig
var introduce = function(greeting) { alert(greeting + ", my name is " + this.name + " ,home no is " + arguments[1]); }
hiBob(" 456"); // alerts "Hi, my name is Bob"
yoJoe(" 876");
Merci à tous
Pas upvotes? Devrait justifier au moins 1 ou 2 –