Je ne trouve pas l'erreur, qu'est-ce que je fais de mal? Cela doit être une raison stupide et très simple ...
Lorsque vous appelez cette fonction sans paramètre, l'année en cours doit être utilisée dans le code suivant mais j'obtiens une erreur "non définie"
function get_ostersonntag(year){ if ((year == "") || (year == null)){ year= new Date(); year = year.getFullYear; } console.log(year) }
6 Réponses :
vous pouvez essayer
function get_ostersonntag(year){ if (!year){ year= new Date(); year = year.getFullYear; } console.log(year) }
Mettez à jour votre condition if:
function get_ostersonntag(year){ if (!year) { year= new Date(); year = year.getFullYear(); } console.log(year) }
chaque fois que l'année a une valeur erronée (non définie, nulle ou ''), elle ira dans la boucle if.
Votre fonction fonctionne correctement - lorsque vous l'appelez sans argument, l'argument year
est implicitement affecté à la valeur undefined
. Et undefined == null
est vrai, donc le bloc if
est exécuté.
Ce que je soupçonne de vous dérouter est que vous avez renvoyé year.getFullYear , qui est une valeur de fonction. Je pense que vous voulez en fait appeler cette fonction pour obtenir le résultat:
function get_ostersonntag(year){ if ((year == "") || (year == null)){ year= new Date(); year = year.getFullYear(); } console.log(year) } get_ostersonntag()
Merci à tous. La raison était les crochets manquants après .getFullYear p>
La seule chose que vous avez manquée sont les parenthèses après year = year.getFullYear
function get_ostersonntag(year){ if ((year == "") || (year == null)){ year= new Date(); year = year.getFullYear(); } console.log(year) }
parce que
year
est passé avec la valeurundefined
et donc il ne rentre pas dans la conditionif
?mais même lorsque j'édite la fonction avec la valeur par défaut de l'année, la même erreur se produit? function blaala (année = null) {etc.
Eh bien, vous manquez la parenthèse dans
getFullYear ();
Quelle est l'erreur? Cela fonctionne pour moi (la valeur de
year
devientundefined
, maisundefined == null
esttrue
, donc lesi l'instruction
est passée). Il enregistre une valeur de fonction pour moi, caryear.getFullYear
est une fonction - vous vouliez probablement direyear = year.getFullYear ()
Merci @LGSon! C'était le problème. Comme mentionné ... raison stupide et très facile :)
désolé @LGSon, j'avais manqué votre commentaire d'une manière ou d'une autre, et je viens de publier le mien (avec le même contenu) comme réponse: /