Simple vs guillemets doubles ('vs ")
J'ai toujours utilisé des guillemets simples lors de l'écriture de mon HTML à la main. Je travaille avec beaucoup de HTML rendu qui utilise toujours des guillemets doubles. Cela me permet de déterminer si le HTML a été écrit à la main ou généré. Est-ce une bonne idée?
Quelle est la différence entre les deux? Je sais qu'ils fonctionnent tous les deux et sont pris en charge par tous les navigateurs modernes, mais y a-t-il une vraie différence où l'un est réellement meilleur que l'autre dans différentes situations?
15 réponses
Le W3 org a dit :
Par défaut, SGML exige que toutes les valeurs d'attribut soient délimitées à l'aide de guillemets doubles (ASCII decimal 34) ou de guillemets simples (ASCII decimal 39). Guillemets simples peuvent être inclus dans la valeur de l'attribut lorsque la valeur est délimitée par des guillemets doubles, et vice versa. Les auteurs peuvent également utiliser des références de caractères numériques pour représenter des guillemets doubles (
"
) et des guillemets simples ('
). Pour les guillemets doubles les auteurs peuvent également utiliser la référence d'entité de caractère"
.
Donc... semble pas faire de différence. Seulement dépend de votre style.
J'utilise {[1] } comme premier niveau et {[2] } comme deuxième niveau, comme j'imagine que la plupart des gens le font. Par exemple
<a href="#" onclick="alert('Clicked!');">Click Me!</a>
Dans cet exemple, vous devez utiliser les deux, c'est inévitable.
Conventions de citation pour les développeurs Web
La Réponse Courte
En HTML, l'utilisation de guillemets simples ( ') et de guillemets doubles ( " ) est interchangeable, il n'y a pas de différence.
Mais la cohérence est recommandée, donc nous devons choisir une convention de syntaxe et l'utiliser régulièrement.
La Réponse Longue
Le développement Web se compose souvent de nombreux langages de programmation. HTML, JS, CSS, PHP, ASP, RoR, Python, ect. Pour cette raison nous avons beaucoup de syntaxe conventions pour différents langages de programmation. Souvent, les habbits d'une langue nous suivent vers d'autres langues, même si cela n'est pas considéré comme "approprié", c'est-à-dire les conventions de commentaire. Les conventions de citation entrent également dans cette catégorie pour moi.
Mais j'ai tendance à utiliser HTML étroitement en conjonction avec PHP. Et en PHP, il y a une différence majeure entre les guillemets simples et les guillemets doubles. En PHP avec des guillemets doubles "vous pouvez insérer des variables directement dans le texte de la chaîne". (scriptingok.com) et lorsque vous utilisez des guillemets simples "le texte apparaît tel quel". (scriptingok.com)
PHP prend plus de temps pour traiter les chaînes entre guillemets doubles. Puisque L'analyseur PHP doit lire la chaîne entière à l'avance pour détecter toute variable à l'intérieur-et la concaténer-il faut plus de temps à traiter qu'une seule chaîne entre guillemets. (scriptingok.com)
Les guillemets Simples sont plus faciles sur le serveur. Puisque PHP n'a pas besoin de lire l'ensemble chaîne à l'avance, le serveur peut travailler plus vite et plus heureux. (scriptingok.com)
Autres choses à considérer
- fréquence des guillemets doubles dans la chaîne. Je trouve que j'ai besoin d'utiliser des guillemets (") dans mes cordes plus souvent que j'ai besoin d'utiliser les guillemets simples (') à l'intérieur des chaînes. Pour réduire le nombre d'échappements de caractères nécessaires, je privilégie les délimiteurs de guillemets simples.
- Il est plus facile de faire une seule citation. Ceci est assez explicite, mais pour clarifier, pourquoi appuyer sur le Touche MAJ plus de fois alors vous devez.
MA Convention
Avec cette compréhension de PHP, j'ai défini la convention (pour moi et le reste de mon entreprise) selon laquelle les chaînes doivent être représentées par des guillemets simples par défaut pour l'optimisation du serveur. Les guillemets doubles sont utilisés dans la chaîne si des guillemets sont requis, tels que JavaScript dans un attribut, par exemple:
<button onClick='func("param");'>Press Me</button>
Bien sûr, si nous sommes en PHP et que nous voulons que L'analyseur gère les variables PHP dans le chaîne nous devrions utiliser intentionnellement des guillemets doubles. $a='Awesome'; $b = "Not $a";
Sources
Guillemets simples vs guillemets doubles en PHP. (n.d.). Extrait le 26 novembre 2014 de http://www.scriptingok.com/tutorial/Single-quotes-vs-double-quotes-in-PHP
Si c'est la même chose, peut-être que l'utilisation de guillemets simples est meilleure car elle ne nécessite pas de maintenir la touche Maj enfoncée. Moins de frappes == moins de chance de RSI.
En HTML, Je ne crois pas que ce soit important si vous utilisez "
ou '
, mais il devrait être utilisé de manière cohérente dans tout le document.
Mon propre usage préfère que les attributs / html utilisent "
, alors que tout javascript utilise '
à la place.
Cela le rend un peu plus facile, pour moi, à lire et à vérifier. Si votre utilisation a plus de sens pour vous que la mienne, il n'y a pas besoin de changement. Mais, pour moi, votre code seraitmalpropre. C'est personnel est tout.
En fait, la meilleure façon est la façon dont Google recommande. Guillemet: https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks
Voir https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity#HTML_Validity Conseils cités par Google: "L'utilisation de HTML valide est un attribut de qualité de base mesurable qui contribue à l'apprentissage des exigences et des contraintes techniques, et qui garantit un HTML approprié utilisation."
Je sais que beaucoup de gens ne seraient pas d'accord, mais c'est ce que je fais et j'aime vraiment un tel style de codage: Je n'utilise aucune citation en HTML sauf si c'est absolument nécessaire.
Exemple:
<form method=post action=#>
<fieldset>
<legend>Register here: </legend>
<label for=account>Account: </label>
<input id=account type=text name=account required><br>
<label for=password>Password: </label>
<input id=password type=password name=password required><br>
...
Les guillemets doubles ne sont utilisés que lorsqu'il y a des espaces dans les valeurs d'attribut ou autre:
<form class="val1 val2 val3" method=post action=#>
...
</form>
J'ai eu un problème en utilisant Bootstrap où l'utilisation de guillemets doubles importait vs l'utilisation de guillemets simples (ce qui n'a pas fonctionné). class = 'row-fluid' m'a donné des problèmes provoquant la dernière travée en dessous des autres travées plutôt que de rester bien à côté à l'extrême droite, alors que class="row-fluid" a fonctionné.
Utilisation de guillemets doubles pour HTML
C'est-à-dire
<div class="colorFont"></div>
Utiliser des guillemets simples pour JavaScript
C'est-à-dire
$('#container').addClass('colorFont');
$('<div class="colorFont2></div>');
Si vous écrivez asp.net ensuite, vous devez parfois utiliser des guillemets doubles dans les instructions Eval et des guillemets simples pour délimiter les valeurs-c'est principalement pour que le code en ligne C# sache qu'il utilise une chaîne dans le conteneur eval plutôt qu'un caractère. Personnellement, je n'utiliserais que l'un ou l'autre comme standard et ne les mélangerais pas, ça a l'air désordonné.
En utilisant "au lieu de" Quand:
<input value="user"/> //Standard html
<input value="user's choice"/> //Need to use single quote
<input onclick="alert('hi')"/> //When giving string as parameter for javascript function
En utilisant 'au lieu de" Quand:
<input value='"User"'/> //Need to use double quote
var html = "<input name='username'/>" //When assigning html content to a javascript variable
Je suis débutant ici mais j'utilise un guillemet simple uniquement lorsque j'utilise un guillemet double dans le premier. Si Je ne suis pas clair, je vous montre un exemple:
<p align="center" title='One quote mark at the beginning so now I can
"cite".'> ... </p>
J'espère que j'ai aidé.
Cela ne fait aucune différence pour le html mais si vous générez du html dynamiquement avec un autre langage de programmation, alors une façon peut être plus facile qu'une autre.
Par exemple dans Java la citation double est utilisée pour indiquer le début et la fin d'une chaîne, donc si vous voulez inclure une doublequote dans la chaîne, vous devez l'échapper avec une barre oblique inverse.
String s = "<a href=\"link\">a Link</a>"
Vous n'avez pas un tel problème avec la citation unique, donc l'utilisation de la citation unique rend plus lisible le code en Java.
String s = "<a href='link'>a Link</a>"
Surtout si vous devez écrire des éléments html avec de nombreux attributs.(Notez que j'utilise généralement une bibliothèque telle que jhtml pour écrire du html en Java, mais pas toujours pratique pour le faire)
En PHP, l'utilisation de guillemets doubles entraîne une légère diminution des performances car les noms de variables sont évalués, donc en pratique, j'utilise toujours des guillemets simples lors de l'écriture de code:
echo "This will print you the value of $this_variable!";
echo 'This will literally say $this_variable with no evaluation.';
Donc vous pouvez écrire ceci à la place;
echo 'This will show ' . $this_variable . '!';
Je crois que Javascript fonctionne de la même manière, donc une très petite amélioration des performances, si cela vous importe.
De plus, si vous regardez jusqu'à la spécification HTML 2.0, toutes les balises listées ici;
(Utilisez doublequotes.) La cohérence est importante, peu importe ce que vous avez tendance à utiliser plus souvent.
Les guillemets doubles sont utilisés pour les chaînes (c'est-à-dire "ceci est une chaîne") et les guillemets simples sont utilisés pour un caractère (c'est-à-dire "a", " b " ou "c"). Selon le langage de programmation et le contexte, vous pouvez utiliser des guillemets doubles pour un caractère mais pas des guillemets simples pour une chaîne.
HTML ne se soucie pas de celui que vous utilisez. Cependant, si vous écrivez du HTML dans un script PHP, vous devriez rester avec des guillemets doubles car vous devrez les échapper (c'est-à-dire \"whatever\") pour éviter la confusion vous-même et PHP.