John Resig, creatore e team leader del framework Javascript jQuery, ha messo a disposizione sul suo blog una funzione estremamente compatta che permette di effettuare l'overloading di metodi all'interno dei costruttori Javascript chiamata "addMethod". La tecnica del "method overloading" consente di differenziare il compito di un metodo a seconda del numero di parametri che gli vengono passati.
Ad esempio, supponiamo di avere un costruttore chiamato Fruits che contiene un array di stringhe e aggiungiamogli un metodo chiamato "find" con la funzione di Resig:
Se richiamiamo il metodo find
Se invece richiamiamo find
var user = new Fruits('My Fruits'); // visualizza tutti i frutti user.find(); // se 'apple' è presente visualizza un messaggio opportuno user.find('apple');
La tecnica che Resig ci fornisce è molto utile in applicazioni orientate agli oggetti e piuttosto avanzata, facendo uso di una proprietà particolare e non molto nota come Function.length