3 votes

JS/Jquery paramètre de fonction par défaut ne fonctionne pas dans les navigateurs mobiles

Je veux écrire cette fonction en jquery comme ceci

function hello(a = ''){
  if(a != '') alert("hello");
}

Mon code jquery est comme ceci

var hello = function(a = ''){
  if(a != '') alert("hello");
}

Les fonctions suivantes fonctionnent bien dans les navigateurs de bureau et dans le navigateur Chrome Android, mais ne fonctionnent pas dans le navigateur natif d'Android et me donnent les erreurs suivantes.

E/browser (26360): Console: Uncaught SyntaxError: Unexpected token =:122

0voto

Shamim Hasan Points 9

Le mot-clé var est invalide dans ce contexte.

0voto

gavgrif Points 7559

Il se peut que vous deviez déclarer la variable en dehors de l'appel de fonction et la passer en argument. De cette façon, vous pourrez passer n'importe quelle valeur dans la fonction. ou vous pouvez utiliser l'objet arguments dans la fonction - cet extrait donne deux versions de la fonction et console.logs le résultat.:

   hello('');
   hello2('')

  function hello(text){
      if(text == '') console.log("hello");
    }

  function hello2(){
     if(arguments[0] == '') console.log("hello2");
    }

0voto

Norlihazmey Ghazali Points 8042

Il suffit de taper un argument, si aucun paramètre n'est transmis, cela renverra indéfini :

var hello = function( myVal ){
  // ou vous pouvez définir une valeur par défaut en utilisant
  // if ( !myVal ) myVal = 'bla bla';
  if(myVal) alert("hello");
}

Ce que vous avez utilisé s'appelle le paramètre de fonction par défaut qui est la nouvelle fonctionnalité d'EcmaScript 2015. Et toutes les plateformes ne le supportent pas. Vous pouvez vérifier sur ce lien pour la compatibilité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X