在手写HTML时,我总是使用单引号。我使用了很多渲染的HTML,它们总是使用双引号。这使我能够确定HTML是手工编写的还是生成的。这是个好主意吗?

这两者之间有什么区别?我知道它们都可以工作,而且所有现代浏览器都支持它们,但在不同的情况下,其中一种真的比另一种更好吗?


当前回答

我用“作为第一梯队”和“作为第二梯队”,我想大多数人都会这么做。例如

<a href="#" onclick="alert('Clicked!');">Click Me!</a>

在那个例子中,你必须两者都用,这是不可避免的。

其他回答

我用“作为第一梯队”和“作为第二梯队”,我想大多数人都会这么做。例如

<a href="#" onclick="alert('Clicked!');">Click Me!</a>

在那个例子中,你必须两者都用,这是不可避免的。

双引号用于字符串(即“这是一个字符串”),单引号用于字符(即'a', 'b'或'c')。根据编程语言和上下文的不同,可以对字符使用双引号,但不能对字符串使用单引号。

HTML并不关心你使用的是哪一个。然而,如果你在PHP脚本中编写HTML,你应该坚持使用双引号,因为你需要转义它们(即“whatever\”),以避免混淆你自己和PHP。

实际上,最好的方法是谷歌推荐的方法。双引号: https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks

看到https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity HTML_Validity 引用谷歌的建议:“使用有效的HTML是一个可衡量的基准质量属性,有助于了解技术需求和约束,并确保正确使用HTML。”

引用Web开发人员的约定

简短的回答

在HTML中,单引号(')和双引号(")的使用是可以互换的,没有区别。

但是建议一致性,因此我们必须选择一个语法约定并定期使用它。

长回答

Web开发通常由许多编程语言组成。HTML, JS, CSS, PHP, ASP, RoR, Python等。因此,对于不同的编程语言,我们有许多语法约定。通常情况下,从一种语言习得的习惯会跟随我们学习其他语言,即使它不被认为是“适当的”,即评论惯例。引用惯例对我来说也属于这一类。

但我倾向于将HTML与PHP紧密结合使用。在PHP中,单引号和双引号有很大的区别。在PHP中,使用双引号“你可以直接在字符串的文本中插入变量”。而当使用单引号时,“文本就是它本来的样子”。(scriptingok.com)

PHP需要更长的时间来处理双引号字符串。由于PHP解析器必须提前读取整个字符串以检测其中的任何变量并将其连接起来,因此处理它所需的时间比处理单个带引号的字符串要长。(scriptingok.com)

 

单引号在服务器上更容易使用。因为PHP不需要提前读取整个字符串,所以服务器可以更快更愉快地工作。(scriptingok.com)

其他需要考虑的事情

字符串内双引号的频率。我发现我需要在字符串中使用双引号(")比需要在字符串中使用单引号(')更频繁。为了减少字符转义的数量,我倾向于使用单引号分隔符。 单引号更容易。这是不言自明的,但要澄清的是,为什么按SHIFT键的次数比你必须的要多。

我的约定

基于对PHP的理解,我已经设置了约定(为我自己和我公司的其他人),默认情况下字符串将表示为单引号,用于服务器优化。双引号在字符串中使用,如果需要引号,例如在属性中使用JavaScript,例如:

<button onClick='func(“param”);'>Press Me</button>

当然,如果我们在PHP中,并希望解析器处理字符串中的PHP变量,我们应该有意地使用双引号。一美元=“棒极了”;$b = "不是$a";

来源

PHP中的单引号和双引号。(无日期)。2014年11月26日,检索自http://www.scriptingok.com/tutorial/Single-quotes-vs-double-quotes-in-PHP

w3组织说:

默认情况下,SGML要求使用双引号(ASCII十进制34)或单引号(ASCII十进制39)分隔所有属性值。当属性值由双引号分隔时,可以在属性值中包含单引号,反之亦然。作者还可以使用数字字符引用来表示双引号(&#34;)和单引号(&#39;)。对于双引号,作者也可以使用字符实体引用&quot;

所以…似乎没什么区别。这取决于你的风格。