HTMLを手動で作成するときは、常に単一引用符を使用しました。私は常に二重引用符を使用する多くのレンダリングされたHTMLを扱います。これにより、HTMLが手動で作成されたものか、生成されたものかを判断できます。これは良い考えですか?
2つの違いは何ですか?どちらも機能し、すべての最新のブラウザでサポートされていますが、状況によって実際にどちらが優れているかという違いはありますか?
HTMLを手動で作成するときは、常に単一引用符を使用しました。私は常に二重引用符を使用する多くのレンダリングされたHTMLを扱います。これにより、HTMLが手動で作成されたものか、生成されたものかを判断できます。これは良い考えですか?
2つの違いは何ですか?どちらも機能し、すべての最新のブラウザでサポートされていますが、状況によって実際にどちらが優れているかという違いはありますか?
回答:
W3組織は言った:
デフォルトでは、SGMLでは、すべての属性値を二重引用符(ASCII 10進数34)または単一引用符(ASCII 10進数39)で区切る必要があります。値が二重引用符で区切られている場合は、属性値内に単一引用符を含めることができ、その逆も可能です。著者は、数字引用を使用して二重引用符(
")および単一引用符(')を表すこともできます。二重引用符の場合、作成者は文字エンティティ参照を使用することもできます"。
だから...違いはないようです。あなたのスタイルだけに依存します。
'または")の場合のgzip出力は809バイトでした。それらを混合すると、出力が最大829バイトにプッシュされます。これはあなたには関係ないかもしれませんが、それが誰にも関係がないという意味ではありません。
ほとんどの人がそうであるように、私"はトップティアと'セカンドティアとして使用します。例えば
<a href="#" onclick="alert('Clicked!');">Click Me!</a>
その例では、両方を使用する必要があり、避けられません。
data-*属性を使用する場合など、単一引用符が必要になる可能性があるインラインJavaScript以外の状況もあります。アプリケーションとdata-*属性の使用方法によっては、'内でを使用する必要がある場合があります"。時には我々はGoogle Analyticsのイベントトラッキングのためにそれらを使用する:<a href="..." data-track="Homepage Banner|Clicked|Dick's Sporting Goods">click me</a>
var x = "<a href='" + url + "'>click me</a>";
HTMLでは、単一引用符( ')と二重引用符( ")の使用は互換性があり、違いはありません。
ただし、一貫性が推奨されるため、構文規則を選択して定期的に使用する必要があります。
Web開発は多くの場合、多くのプログラミング言語で構成されています。HTML、JS、CSS、PHP、ASP、RoR、Pythonなど。このため、プログラミング言語ごとに多くの構文規則があります。多くの場合、「適切」とは見なされない場合でも、1つの言語からの習慣が他の言語に追随します。つまり、コメント規則です。引用規約も私にとってこのカテゴリーに分類されます。
しかし、私はHTMLをPHPと密接に組み合わせて使用する傾向があります。PHPでは、一重引用符と二重引用符の間に大きな違いがあります。二重引用符付きのPHPでは、「文字列のテキスト内に直接変数を挿入できます」。(scriptingok.com)また、単一引用符を使用すると、「テキストはそのまま表示されます」。(scriptingok.com)
PHPは二重引用符で囲まれた文字列の処理に時間がかかります。PHPパーサーは事前に文字列全体を読み取って内部の変数を検出し、それを連結する必要があるため、単一引用符付きの文字列よりも処理に時間がかかります。(scriptingok.com)
サーバーでは一重引用符の方が簡単です。PHPは文字列全体を事前に読み取る必要がないため、サーバーはより高速で快適に動作します。(scriptingok.com)
その他の考慮事項
PHPをこのように理解することで、サーバーの最適化のために、デフォルトで文字列を単一引用符で表すという規則を(自分自身と会社全体で)設定しました。属性内でJavaScriptなどの引用符が必要な場合、文字列内で二重引用符が使用されます。次に例を示します。
<button onClick='func("param");'>Press Me</button>
もちろん、PHPを使用していて、パーサーに文字列内のPHP変数を処理させたい場合は、意図的に二重引用符を使用する必要があります。 $a='Awesome'; $b = "Not $a";
PHPの単一引用符と二重引用符。(nd)。2014年11月26日、http://www.scriptingok.com/tutorial/Single-quotes-vs-double-quotes-in-PHPから取得
document.querySelector("[name^='myname']")は機能しますがまったく機能しませんdocument.querySelector('[name^="myname"]')。
それがすべて同じ場合は、Shiftキーを押す必要がないため、単一引用符を使用する方が良いでしょう。キーストロークの減少== RSIの可能性が低くなります。
HTMLでは、"またはを使用するかどうかは重要ではありません'が、ドキュメント全体で一貫して使用する必要があります。
私自身の使用法では、attributes / htmlを使用することを好みます"が、すべてのJavaScriptが'代わりに使用します。
これにより、私にとっては、読みやすく、確認しやすくなります。あなたの使用が私のものよりあなたにとって意味がある場合、変更の必要はありません。しかし、私には、コードが乱雑に感じられるでしょう。それは個人的なことです。
"たい場合は、PHPコードでコードを作成しています。このエコー内のhtml属性は、を使用するとより読みやすくなります。確かに一貫性はありませんが、すべてのバックスラッシュがないと、はるかに簡単です。echo"'
実際、最善の方法は、Googleが推奨する方法です。二重引用符:https : //google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks
Googleからのhttps://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity#HTML_Validity Quoted Adviceを参照してください。適切なHTMLの使用。」
"オーバー'!?
私が知っているLOTS人々のは同意しないだろうが、これは私が何をすべきかと私は本当に、このようなAのコーディングスタイルを楽しむ:それは絶対に必要でない限り、私は実際にはHTML内の任意の引用符を使用しません。
例:
<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>
...
二重引用符は、属性値などにスペースがある場合にのみ使用されます。
<form class="val1 val2 val3" method=post action=#>
...
</form>
次の場合に、「の代わりに」を使用します。
<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
次の場合に、「の代わりに」を使用します。
<input value='"User"'/> //Need to use double quote
var html = "<input name='username'/>" //When assigning html content to a javascript variable
var html = '<input name="username" />';ます。残りのhtmlとの一貫性を保ちます:)
htmlに違いはありませんが、別のプログラミング言語で動的にhtmlを生成している場合は、ある方法が他の方法よりも簡単な場合があります。
たとえばJavaでは、二重引用符は文字列の開始と終了を示すために使用されるため、文字列内に二重引用符を含める場合は、円記号でエスケープする必要があります。
String s = "<a href=\"link\">a Link</a>"
一重引用符にはこのような問題はないため、一重引用符を使用すると、Javaでコードが読みやすくなります。
String s = "<a href='link'>a Link</a>"
特に、多くの属性を持つhtml要素を記述する必要がある場合(通常、jhtmlなどのライブラリーを使用してJavaでhtmlを記述しますが、必ずしもそうすることが実用的ではないことに注意してください)
PHPでは、二重引用符を使用すると、変数名が評価されるため、パフォーマンスがわずかに低下します。そのため、実際には、コードを記述するときに常に単一引用符を使用します。
echo "This will print you the value of $this_variable!";
echo 'This will literally say $this_variable with no evaluation.';
したがって、代わりにこれを書くことができます。
echo 'This will show ' . $this_variable . '!';
私はJavascriptも同様に機能すると信じていますので、あなたにとって重要なのは、パフォーマンスの非常に小さな改善です。
さらに、HTML仕様2.0に至るまで、すべてのタグがここにリストされています。
(二重引用符を使用します。)頻繁に使用する傾向がある場合でも、一貫性は重要です。
文字列には二重引用符が使用され(「this is a string」)、文字には単一引用符が使用されます(つまり、「a」、「b」、または「c」)。プログラミング言語とコンテキストによっては、文字に二重引用符を使用しても、文字列に単一引用符を使用しないで済む場合があります。
HTMLはどちらを使用してもかまいません。ただし、PHPスクリプト内でHTMLを記述している場合は、二重引用符でエスケープする必要があるため(つまり、「whatever \」)、自分自身とPHPを混同しないようにする必要があります。