en javascript no es posible asignar valores predefinidos a los argumentos de una funcion como lo harias en otros lenguajes (php, c). sin embargo, puedes hacer algo similar. por lo general la solucion consiste en asignar un valor u otro en el mismo argumento verificando cada argumento pero dentro del cuerpo de la funcion. es decir, en cada argumento tendrias que hacer algo como
Código javascript
:
Ver originalarguments[0] = arguments[0] || "valor predefinido";
arguments[1] = arguments[1] || "valor predefinido";
como funciona? el operador OR devuelve el primer operando solo si este evalua a true. y he aqui un detalle muy importante a tomar en cuenta. supongamos que uno de los argumentos acepta como variable un string vacio, un boolean falso, o un numero 0. el operador OR convierte cada operando a tipo boolean antes de utilizarlos. cualquiera de los valores anteriormente mencionado son convertidos como falso de modo que el operador OR asumira que el argumento entrado no es valido. para solucionar este caso, lo mejor es comprobar si el argumento esta definido o no.
Código javascript
:
Ver originalif(arguments[0] == undefined)arguments[0] = "valor predefinido";
if(arguments[1] == undefined)arguments[1] = "valor predefinido";
tendras que decidir cual metodo utilizar para cada argumento de acuerdo a lo que tu consideres un valor valido.