Zawsze używałem pojedynczych cudzysłowów, pisząc ręcznie HTML. Pracuję z dużą ilością renderowanego HTML, który zawsze używa podwójnych cudzysłowów. To pozwala mi ustalić, czy HTML został napisany ręcznie, czy wygenerowany. Czy to dobry pomysł?
Jaka jest różnica między nimi? Wiem, że oba działają i są obsługiwane przez wszystkie nowoczesne przeglądarki, ale czy istnieje prawdziwa różnica, w której jedna jest lepsza od drugiej w różnych sytuacjach?
Odpowiedzi:
W3 org powiedział :
Więc ... wydaje się, że nie ma różnicy. Tylko zależy od twojego stylu.
źródło
'
albo"
), miało 809 bajtów. Mieszanie ich zwiększyło wydajność do 829 bajtów. Może to być dla ciebie nieistotne, ale to nie znaczy, że nie ma znaczenia dla wszystkich.Używam
"
jako najwyższego poziomu i'
jako drugiego poziomu, jak sobie wyobrażam większość ludzi. Na przykładW tym przykładzie musisz użyć obu, jest to nieuniknione.
źródło
data-*
atrybutów niestandardowych . W zależności od aplikacji i sposobu korzystania zdata-*
atrybutów może być konieczne użycie'
„wewnątrz"
”. Czasami używamy ich do śledzenia zdarzeń Google Analytics:<a href="..." data-track="Homepage Banner|Clicked|Dick's Sporting Goods">click me</a>
var x = "<a href='" + url + "'>click me</a>";
Cytowanie konwencji dla programistów stron internetowych
Krótka odpowiedź
W HTML użycie pojedynczych cudzysłowów (') i podwójnych cudzysłowów (") jest wymiennych, nie ma różnicy.
Jednak spójność jest zalecana, dlatego musimy wybrać konwencję składni i używać jej regularnie.
Długa odpowiedź
Tworzenie stron internetowych często składa się z wielu języków programowania. HTML, JS, CSS, PHP, ASP, RoR, Python, itp. Z tego powodu mamy wiele konwencji składni dla różnych języków programowania. Często nawyki z jednego języka podążają za nami do innych języków, nawet jeśli nie jest to uważane za „właściwe”, tj. Komentujące konwencje. Konwencje cytowania należą również do tej kategorii.
Ale zwykle używam HTML ściśle w połączeniu z PHP. W PHP istnieje duża różnica między pojedynczymi i podwójnymi. W PHP z podwójnymi cudzysłowami „możesz wstawiać zmienne bezpośrednio w tekście ciągu”. (scriptingok.com) A gdy używasz pojedynczych cudzysłowów, „tekst wygląda jak jest”. (scriptingok.com)
Inne rzeczy do rozważenia
Moja konwencja
Z takim zrozumieniem PHP ustawiłem konwencję (dla siebie i reszty mojej firmy), że ciągi mają być domyślnie reprezentowane jako pojedyncze cudzysłowy w celu optymalizacji serwera. Podwójne cudzysłowy są używane w ciągu, jeśli wymagane są cudzysłowy, takie jak JavaScript w atrybucie, na przykład:
<button onClick='func("param");'>Press Me</button>
Oczywiście, jeśli jesteśmy w PHP i chcemy, aby parser obsługiwał zmienne PHP w ciągu, powinniśmy celowo stosować podwójne cudzysłowy.
$a='Awesome'; $b = "Not $a";
Źródła
Pojedyncze cytaty vs Podwójne cytaty w PHP. (nd). Pobrano 26 listopada 2014 r. Z http://www.scriptingok.com/tutorial/Single-quotes-vs-double-quotes-in-PHP
źródło
document.querySelector("[name^='myname']")
nie działa wcale, adocument.querySelector('[name^="myname"]')
działa idealnie.Jeśli jest tak samo, być może użycie pojedynczych cudzysłowów jest lepsze, ponieważ nie wymaga przytrzymania klawisza Shift. Mniej naciśnięć klawiszy == mniejsza szansa na RSI.
źródło
W HTML nie sądzę, czy ma to znaczenie, czy używasz,
"
czy'
, ale powinien być używany konsekwentnie w całym dokumencie.Moje własne użycie preferuje użycie atrybutów / html
"
, podczas gdy'
zamiast tego używa wszystkich javascript .To sprawia, że nieco łatwiej jest mi czytać i sprawdzać. Jeśli twoje użycie jest dla ciebie bardziej sensowne niż moje, nie ma potrzeby zmian. Ale dla mnie, Twój kod będzie czuć się bałagan. To wszystko osobiste.
źródło
"
również atrybutów , ale innym razem piszę kod w kodzie PHP, w którym wolałbymecho
używać tego"
w celu umożliwienia parsowania. Wszelkie atrybuty HTML w tym echu są bardziej czytelne, jeśli używasz'
's. Pewnie, że nie jest spójny, ale jest znacznie łatwiejszy bez wszystkich odwrotnych ukośników.W rzeczywistości najlepszym sposobem jest sposób, który zaleca Google. Podwójne cytaty: https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks
Zobacz https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity#HTML_Validity Cytowana rada od Google: „Używanie prawidłowego HTML jest wymiernym podstawowym atrybutem jakości, który przyczynia się do poznawania wymagań technicznych i ograniczeń, i zapewnia prawidłowe użycie HTML ”.
źródło
"
ponad'
!Znam DUŻO ludzi by się nie zgodziło, ale to właśnie robię i naprawdę lubię taki styl kodowania: właściwie nie używam cytatów w HTML, chyba że jest to absolutnie konieczne.
Przykład:
Podwójne cudzysłowy są używane tylko wtedy, gdy w wartościach atrybutów lub cokolwiek innego są spacje:
źródło
Używanie podwójnych cudzysłowów w HTML
to znaczy
Używanie pojedynczych cudzysłowów w JavaScript
to znaczy
źródło
Mam problem z używaniem Bootstrap, w którym użycie podwójnych cudzysłowów miało znaczenie w porównaniu do używania pojedynczego cudzysłowu (co nie działało). class = „row-fluid” dało mi problemy powodujące, że ostatni zakres spadł poniżej innych zakresów, zamiast ładnie siedzieć obok po prawej stronie, podczas gdy class = „row-fluid” działał.
źródło
jeśli piszesz asp.net, od czasu do czasu musisz używać podwójnych cudzysłowów w instrukcjach Eval i pojedynczych cudzysłowów do ograniczania wartości - dzieje się tak głównie po to, aby kod wbudowany w C # wiedział, że używa łańcucha w kontenerze eval, a nie znaku. Osobiście używałbym tylko jednego lub drugiego jako standardu i nie mieszałbym ich, wygląda na niechlujne to wszystko.
źródło
Używanie „zamiast”, gdy:
Używanie „zamiast”, gdy:
źródło
var html = '<input name="username" />';
zachowaj spójność z resztą HTML :)Nie ma to znaczenia dla html, ale jeśli generujesz html dynamicznie za pomocą innego języka programowania, jeden sposób może być łatwiejszy niż inny.
Na przykład w Javie podwójny cudzysłów służy do wskazania początku i końca łańcucha, więc jeśli chcesz zawrzeć podwójny cudzysłów w łańcuchu, musisz uciec przed nim odwrotnym ukośnikiem.
Nie masz takiego problemu z pojedynczym cytatem, dlatego użycie pojedynczego cytatu zapewnia bardziej czytelny kod w Javie.
Zwłaszcza jeśli musisz pisać elementy HTML z wieloma atrybutami. (Uwaga: Zazwyczaj używam biblioteki takiej jak jhtml do pisania HTML w Javie, ale nie zawsze jest to praktyczne)
źródło
Jestem tu nowicjuszem, ale używam znaku pojedynczego cudzysłowu tylko wtedy, gdy używam znaku podwójnego cudzysłowu w pierwszym. Jeśli nie jestem pewien, pokażę Ci przykład:
Mam nadzieję, że pomogłem.
źródło
W PHP stosowanie podwójnych cudzysłowów powoduje niewielki spadek wydajności, ponieważ nazwy zmiennych są oceniane, więc w praktyce zawsze używam pojedynczych cudzysłowów podczas pisania kodu:
Możesz więc napisać to zamiast tego;
Uważam, że JavaScript działa podobnie, więc bardzo niewielka poprawa wydajności, jeśli ma to dla Ciebie znaczenie.
Dodatkowo, jeśli spojrzysz aż do specyfikacji HTML 2.0, wszystkie tagi wymienione tutaj;
Dokumentacja W3 HTML DTD
(Używaj podwójnych cudzysłowów). Spójność jest ważna bez względu na to, z którego często korzystasz.
źródło
Podwójne cudzysłowy są używane jako ciągi znaków (tj. „To ciąg”), a pojedyncze znaki są używane dla znaku (tj. „A”, „b” lub „c”). W zależności od języka programowania i kontekstu można uniknąć używania podwójnych cudzysłowów dla znaku, ale nie pojedynczych cudzysłowów dla ciągu.
HTML nie dba o to, którego używasz. Jeśli jednak piszesz HTML w skrypcie PHP, powinieneś trzymać się podwójnych cudzysłowów, ponieważ będziesz musiał uciec od nich (tj. \ "Cokolwiek \"), aby uniknąć pomieszania siebie i PHP.
źródło