Erreur de syntaxe: Illegal instruction de retour en JavaScript
Je suis vraiment une drôle d'erreur JavaScript lorsque j'exécute ce code:
<script type = 'text/javascript'>
var ask = confirm('".$message."');
if(ask==false)
{
return false;
}
else
{
return true;
}
</script>
Dans la console JavaScript, il est dit:
Syntax Error: Illegal return statement
Il se produit à return true;
et return false;
(Je suis en écho à ce javascript à partir d'une fonction php; l' $message
variable est l'un des paramètres php)
Quel est le problème avec mon code?
- De retour déclarations ne sont autorisés à l'intérieur des fonctions. Qu'espérez-vous atteindre avec le retour des instructions dans votre exemple?
- Pour les personnes Googler ce problème, vous pouvez également obtenir cette erreur si il vous manque un
{
ou}
. - > L'instruction return termine exécution de la fonction et spécifie une valeur > être retourné à la fonction de l'appelant. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
Vous devez vous connecter pour publier un commentaire.
return
n'a de sens qu'à l'intérieur d'une fonction. Il n'y a pas de fonction dans votre code.Aussi, votre code est valable si le Ministère de la Redondance du Département. En supposant que vous vous déplacez pour un fonctionnement correct, ce serait mieux:
MODIFIER beaucoup, beaucoup plus tard: modification du code pour utiliser
json_encode
pour assurer le contenu du message ne se cassent pas juste à cause de l'apostrophe dans le message.Si vous voulez retourner à une certaine valeur, puis enveloppez votre déclaration en fonction
Problème est avec la déclaration sur la 1ère ligne si vous essayez d'utiliser PHP
SI vous essayez d'utiliser PHP, vous devez utiliser
en javascript instruction return utilisé uniquement à l'intérieur de bloc de fonction. si vous essayez d'utiliser l'instruction return dans indépendants si d'autre bloc de déclencher d'erreur de syntaxe : Illegal instruction de retour en JavaScript
Voici mon code d'exemple pour éviter une telle erreur :
Veuillez vérifier Jsfiddle exemple
où êtes-vous essayer de retourner la valeur?
pour console dans les outils de dev est mieux pour le débogage
Dans mon expérience, le plus souvent ce message d'erreur signifie que vous avez mis une fermeture accidentelle accolade quelque part, laissant le reste de vos déclarations en dehors de la fonction.
Exemple: