Hola:
Sobre el número de argumentos podría simplemente usar un switch:
function x() {
switch (arguments.length) {
case 0: alert(arguments.length);
break;
case 1: alert(arguments.length);
break;
default: alert('sin definir');
break;
}
}
...
<body onload="x(); x(1); x(1,2,3)">
Pero me temo que el ejemplo de JavierB (¡Hola
!) es más descriptivo...
Lo que sí es que se pueden usar métodos propios de objetos y/o redefinirlos
String.prototype.sort = function() {
t = this.split(""); t.sort(); return t.join("");
}
saludos