Les "" dans les script java script

Résolu/Fermé
gaya_102 - 9 févr. 2009 à 09:14
 gaya_102 - 9 févr. 2009 à 20:44
Bonjour,
voila je sais qu'une personne a deja essayé de m'expliquer mais en manipulant je me rend compte que je n'ai du tout compris

par exemple :
now = new Date();
jour = now.getDate();
mois = now.getMonth() + 1;
année = now.getFullYear();
lettres = ("" + now.toGMTString() + "")

//On recherche le jour de la semaine
joursemaine = lettres.substring(0,3);
if(joursemaine=="Mon"){
js="Lundi"}
if(joursemaine=="Tue"){
js="Mardi"}
if(joursemaine=="Wed"){
js="Mercredi"}
if(joursemaine=="Thu"){
js="Jeudi"}
if(joursemaine=="Fri"){
js="Vendredi"}
if(joursemaine=="Sat"){
js="Samedi"}
if(joursemaine=="Sun"){
js="Dimanche"}

//On recherche le mois
if(mois=="1"){
mois2="Janvier";}
if(mois=="2"){
mois2="Fevrier";}
if(mois=="3"){
mois2="Mars";}
if(mois=="4"){
mois2="Avril";}
if(mois=="5"){
mois2="Mai";}
if(mois=="6"){
mois2="Juin";}
if(mois=="7"){
mois2="Juillet";}
if(mois=="8"){
mois2="Aout";}
if(mois=="9"){
mois2="Septembre";}
if(mois=="10"){
mois2="Octobre";}
if(mois=="11"){
mois2="Novembre";}
if(mois=="12"){
mois2="Decembre";}



document.write('Nous sommes le '+ js +' '+ jour +' '+ mois2 +' '+année);

dans ses lignes
je ne comprend pas la place des '' dans lequel il n'y a rien. quel est l'interet
document.write('Nous sommes le '+ js +' '+ jour +' '+ mois2 +' '+année);
lettres = ("" + now.toGMTString() + "")
et pourquoi un coup des "" et un autre coups des ' '
merci d'avance
A voir également:

3 réponses

Bonjour

lettres = ("" + now.toGMTString() + "") Franchement, moi non plus je ne vois pas à quoi sevent les "" vides ici.
Par contre dans document.write('Nous sommes le '+ js +' '+ jour +' '+ mois2 +' '+année); les ' ' ne sont pas vides : ils contienent un espace. Enlèves-les et tu verras l'effet...

Pourquoi une fois "" et une fois ' ? Je ne vois pas de bonne raison ici. En général, on utilise des " pour délimiter une chaîne s'il doit y avoir des ' à l'intérieur, et on utilise des ' pour délimiter une chaîne s'il doit y avoir des " à l'intérieur.

je reviens sur les chaînes vides : elles ne sont pas toujours inutiles. Essaye de prévoir ce que fait ce script :
<script type = "text/javascript">
a=6;
b=5;
document.write (a+b);
document.write ('<br/>');
document.write (''+a+b);
document.write ('<br/>');
document.write (a+b+'');
document.write ('<br/>');
</script>
0
Par contre que je ne me trompe pas car j'ai un doute d'un seul coup. C'est bien dans le body que je met se sript?
0
Alors je traduit

<script type = "text/javascript">
a=6;
b=5;
document.write (a+b);//(6+5)=11
document.write ('<br/>');// renvoie à la ligne?
document.write (''+a+b);//je sais que ça doit faire 65 mais je ne sais pas comment
document.write ('<br/>');// renvoie à la ligne?
document.write (a+b+'');//je sais que ça doit faire 11 mais je ne sais pas comment
document.write ('<br/>');// renvoie à la ligne?
</script>
0
C'est à mettre dans le body.

Le script que je te proposais n'était pas un devoir à rendre ! Mais puisque tu l'as rendu...
D'après tes réponses, tu as tout compris.
''+a+b donne 65 parce que ça commence par une chaine (vide,mais une chaine quand même) alors le a et b sont traduits aussi en chaines et le + fait la concaténation des chaines
a+b+'' donne 11 parce qu'on commence par a et b qui sont des nombres, ça donne 11. quand on ajoute une chaine vide, le 11 est lui traduit en chaine, mais à l'affichage, ça fait toujours 11
0
justement j'ai fait le script et c'est le script qui m'a donné ses résultat sinon je ne le comprend pas se 65
0
Il y a deux grands types de variables : les chaines de caractères (les textes) et les nombres.
En javascript, le + ne signifie pas la même chose suivant qu'il agit sur des textes ou sur des nombres.
Sur des textes, le + sert à la concaténation, c'est à dire à mettre les textes bout à bout
Sur des nombres, le + sert à l'addition habituelle
Et entre un nombre et un texte ? Le nombre est transformé en texte. ensuite on a deux textes qu'on concatène
''+6+5
on fait d'abord ''+6. Comme il s'agit d'un texte et d'un nombre, on transforme le 5 en texte et on l'ajoute à la chaine vide. on obtient le texte 6
quand on ajoute ensuite le 5, comme le début de l'expression est un texte, on transforme le 5 en texte aussi. Le + est alors entre deux textes, il ne représente pas une addition mais une concaténation. on obtient les textes 6 et 5 côte à côte, c'est à dire 65
0
ca y est j'ai compris

par contre, quand tu écris "on fait d'abord ''+6. Comme il s'agit d'un texte et d'un nombre, on transforme le 5 en texte et on l'ajoute à la chaine vide. on obtient le texte 6 " Tu n'as pas fait une erreur, tu dis on transforme le 5 en texte. C'est pas plus tot le 6 en texte. Si c'est j'ai enfin compris lol. Il m'aura fallu 2 jours mais ça y est. Pas facile le java script
0
toto > gaya_102
9 févr. 2009 à 20:42
C'est pas plus tot le 6 en texte Bien sûr ! Excuse-moi.
0
gaya_102 > toto
9 févr. 2009 à 20:44
Donc c'est bon j'ai tout compris merci beaucoup en tout cas de ta super patience
0