No es un estándar de JS usar variables predefinidas, deberías comprobar si está definida o no antes de asignarle un valor.
Código Javascript
:
Ver originalfunction A(a, array){
array = (typeof array != "undefined")? array : new Array();
}
Ergo si
array si no es
indefinida será el valor de array mismamente y si no, será un
array vacío.
Recuerda que en tiempo de ejecución, al leer de izquierda a derecha el intérprete, no habrá reescritura de la variable array, por lo que el valor de array dentro de la expresión
(typeof array != "undefined")? array es aún el del argumento. Array no tendrá un nuevo valor hasta que no finalice la sentencia, justo en
;.