在手写HTML时,我总是使用单引号。我使用了很多渲染的HTML,它们总是使用双引号。这使我能够确定HTML是手工编写的还是生成的。这是个好主意吗?
这两者之间有什么区别?我知道它们都可以工作,而且所有现代浏览器都支持它们,但在不同的情况下,其中一种真的比另一种更好吗?
在手写HTML时,我总是使用单引号。我使用了很多渲染的HTML,它们总是使用双引号。这使我能够确定HTML是手工编写的还是生成的。这是个好主意吗?
这两者之间有什么区别?我知道它们都可以工作,而且所有现代浏览器都支持它们,但在不同的情况下,其中一种真的比另一种更好吗?
当前回答
我有一个问题与Bootstrap,我不得不使用双引号,因为单引号不起作用。
Class ='row-fluid'使得最后一个<span>落在另一个<span>的下面,而不是很好地坐在它们的最右边。类= " row-fluid”工作。
其他回答
在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,这里列出的所有标签;
W3 HTML DTD参考
(使用doublequotes。)无论你更经常使用哪一种,一致性都很重要。
引用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
用"而不是'当:
<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
如果你正在编写asp.net,那么偶尔你必须在Eval语句中使用双引号,在值分隔中使用单引号——这主要是为了让c#内联代码知道它在Eval容器中使用的是字符串而不是字符。就我个人而言,我只使用其中一种作为标准,而不是混合使用,这样看起来很乱。
如果都是一样的,也许使用单引号更好,因为它不需要按住shift键。按键次数越少=重复劳损的几率越小。