// Combiner of passed arguments and defaults (usable with any function)
Object.prototype.combine = function(_args){
for(var i in this) {
if(typeof _args[i] == "undefined") {
_args[i] = this[i];
}
}
};
// Specific example function with defaults
function feedTheCat(args){
var defaults = {
'morning' : "nothing",
'noon' : "pork",
'nite' : "mouse"
};
defaults.combine(args);
}
// USAGE: only passing 2 of 3 arguments
feedTheCat({
'morning': "milk",
'nite': "kitekat"
});
// Values would be: milk | pork | kitekat
Standardargumente für Funktionen
Chris Coyier am
Danke, perfekte Lösung.
oder $.extend in jQuery
BUG BEHOBEN!
Es ist vorzuziehen, kein Prototype für Object zu verwenden, da Sie Probleme haben werden, wenn Sie versuchen, es zu durchlaufen. Dieses Prototype wird in der Liste aller Objekte erscheinen und Sie müssen hasOwnProperty verwenden, um es zu überspringen. Verwenden Sie daher besser einfache Funktionen.