¿Cómo Declarar funciones Javascript compatibles?

Tengo un pequeño problema de compatibilidad en navegadores al declarar funciones en javascript.

He declarado una función (por ejemplo calcular):

function calcular(data,type = 0){    ... CONTENIDO ...}

Este codigo al ejecutarlo en Firefox funciona sin problemas, pero al ejecutarlo en chrome no funciona.... Sale el error de "calcular is not defined".

También he de decir que esta función esta en un <script></script> diferente al que ejecuto.

¿Solución?

Respuesta
5

El problema es que estás usando la funcionalidad de "Default Parameters" que solo funciona en Firefox (https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Functions/Default_parameters ).

Los Default Parameters se usan en muchos lenguajes de programación, pero no en EcmaScript 4 que es la actual versión de javascript que soportan todos los navegadores. Javascript lo soportará en la versión EcmaScript 6.

Firefox soporta los "Default Parameters" a día de hoy de modo experimental.

La forma de emular los Default Parameters con EcmaScript 4 es muy sencilla. Siguiendo tu ejemplo puedes hacer lo siguiente:

function calcular(data,type){
   type = typeof type !== 'undefined' ? type : 0;
   // Código
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas