手工编写HTML时,我总是使用单引号.我使用大量渲染的HTML,它总是使用双引号.这允许我确定HTML是手写还是生成.这是一个好主意吗?
两者有什么区别?我知道他们都工作并得到所有现代浏览器的支持,但是在不同的情况下,哪一个实际上比另一个更好?
Ait*_*ito 385
w3组织说:
默认情况下,SGML要求使用双引号(ASCII十进制34)或单引号(ASCII十进制39)分隔所有属性值.当值由双引号分隔时,单引号可以包含在属性值中,反之亦然.作者也可以使用数字字符引用来表示双引号(
")和单引号(').对于双引号,作者也可以使用字符实体引用".
所以...似乎没什么区别.只取决于你的风格.
Nib*_*Pig 66
我"用作顶级和'第二层,正如我想象的那样大多数人都这样做.例如
<a href="#" onclick="alert('Clicked!');">Click Me!</a>
Run Code Online (Sandbox Code Playgroud)
在那个例子中,你必须使用两者,这是不可避免的.
Dus*_*ant 25
在HTML中,单引号(')和双引号(")的使用是可以互换的,没有区别.
但建议使用一致性,因此我们必须选择语法约定并定期使用它.
Web开发通常由许多编程语言组成.HTML,JS,CSS,PHP,ASP,RoR,Python等.因此,我们为不同的编程语言提供了许多语法约定.通常来自一种语言的习惯将跟随我们使用其他语言,即使它不被认为是"正确的"即评论惯例.引用约定对我来说也属于这一类.
但我倾向于将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
小智 13
如果它完全相同,也许使用单引号更好,因为它不需要按住shift键.击键次数减少= RSI的几率降低.
Dav*_*mas 11
在HTML中我不相信你是否使用"或',但它应该在整个文档中一致地使用.
我自己的用法更喜欢使用属性/ html ",而所有的javascript都使用'.
这使我更容易阅读和检查.如果您的使用对我来说比我的更有意义,则无需进行更改.但是,对我来说,你的代码会感到凌乱.这是个人的全部.
实际上,最好的方式是谷歌推荐的方式.双引号:https: //google.github.io/styleguide/htmlcssguide.xml?showow = HTML_Quotation_Marks#HTML_Quotation_Marks
请参阅https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity#HTML_Validity 来自Google的引用建议:"使用有效的HTML是一种可衡量的基线质量属性,有助于了解技术要求和约束,并确保适当的HTML使用."
对HTML使用双引号
即
<div class="colorFont"></div>
Run Code Online (Sandbox Code Playgroud)
对JavaScript使用单引号
即
$('#container').addClass('colorFont');
$('<div class="colorFont2></div>');
Run Code Online (Sandbox Code Playgroud)
我知道很多人不会同意,但这就是我所做的,而且我真的很喜欢这种编码风格:实际上,除非绝对必要,否则我不会在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>
...
Run Code Online (Sandbox Code Playgroud)
仅当属性值中有空格或其他内容时才使用双引号:
<form class="val1 val2 val3" method=post action=#>
...
</form>
Run Code Online (Sandbox Code Playgroud)