Je suis en train d'apprendre JavaScript et j'ai appris récemment l'existence des événements de synchronisation JavaScript. Quand j'ai appris setTimeout
à l'adresse W3Schools j'ai remarqué une silhouette étrange que je n'avais jamais rencontrée auparavant. Ils utilisent des guillemets doubles et appellent ensuite la fonction.
Exemple :
setTimeout("alertMsg()", 3000);
Je sais que les guillemets doubles et simples en JavaScript signifient une chaîne de caractères.
J'ai aussi vu que je peux faire la même chose comme ça :
setTimeout(alertMsg, 3000);
Avec les parenthèses, c'est une référence, sans les parenthèses, c'est une copie. Quand j'utilise les guillemets et les parenthèses, ça devient fou.
Je serais heureux si quelqu'un pouvait m'expliquer la différence entre ces trois façons d'utiliser setTimeout
:
Avec les parenthèses :
setTimeout("alertMsg()", 3000);
Sans les guillemets et les parenthèses :
setTimeout(alertMsg, 3000);
Et la troisième est de n'utiliser que des guillemets :
setTimeout("alertMsg", 3000);
N.B. : Une meilleure source pour setTimeout
La référence serait MDN .
0 votes
@Jefffrey Bien que j'aime stackoverflow mais qu'y a-t-il de mal à suivre w3cschools ?
5 votes
@Jefffrey ce site w3fools ne dit pas que le contenu est erroné, juste qu'il est peut-être dépassé et qu'il manque des éléments plus récents. Il peut être utilisé comme référence pour (ou pour apprendre) le contenu de base. Je peux comprendre que les gens soient frustrés par la façon dont ils essaient de donner l'impression qu'ils font partie du W3, mais cela n'enlève rien au contenu. C'est bien présenté et facile à lire avec des exemples clairs, parfait pour les novices.
14 votes
@Matthew "Nous pensons, cependant, que W3Schools nuit à la communauté avec des informations inexactes." -- dans les trois premières lignes.
1 votes
@Jefffrey ouais j'ai vu ça mais plus bas où ils expliquent ce qu'ils n'aiment pas, dans la section "W3Schools is trouble", aucune des trois raisons qu'ils donnent n'a quelque chose à voir avec des informations inexactes. Ils n'ont pas un seul exemple de ce qui est réellement "faux". Ils se plaignent du fait qu'ils ne disent pas explicitement qu'ils ne sont pas affiliés au W3, qu'ils font payer des certifications non reconnues et qu'ils ne mettent pas rapidement à jour leur contenu (par exemple html 5).
10 votes
@Matthew, Les informations périmées, dans des langages délicats comme Javascript, SQL ou PHP, sont ce qui guide des masses de programmeurs en herbe à s'en tenir à des technologies anciennes et potentiellement dangereuses (comme le
mysql_
extension de PHP) dont le flux de questions sur les SO n'est qu'un exemple. Il y avait aussi des erreurs très subtiles dans la section SQL, mais cela fait presque un an que je n'ai pas visité le site et beaucoup d'entre elles pourraient être corrigées. Et même si tout était parfait, je ne ferais pas la promotion d'un site Web qui tente de tromper les gens avec la fraude de son certificat.4 votes
Les certifications douteuses mises à part, il s'agit d'une ressource de référence décente et il est contre-productif pour l'objectif de l'OS d'aller les dénoncer.
0 votes
Les guillemets simples et doubles peuvent parfois être interchangés, mais il faut les garder par paires. Si vous avez spécifiquement besoin de l'un ou l'autre, vous pouvez utiliser l'autre pour le niveau de guillemet suivant.