Single vs Double quotes (' vs ")
手写HTML时,我总是使用单引号。我使用了很多呈现的HTML,它们总是使用双引号。这允许我确定HTML是手工编写的还是生成的。这是个好主意吗?
这两者有什么区别?我知道这两种浏览器都可以工作,并且都受到所有现代浏览器的支持,但是在不同的情况下,一种浏览器实际上比另一种浏览器更好,这有真正的区别吗?
W3组织说:
By default, SGML requires that all attribute values be delimited using either double quotation marks (ASCII decimal 34) or single quotation marks (ASCII decimal 39). Single quote marks can be included within the attribute value when the value is delimited by double quote marks, and vice versa. Authors may also use numeric character references to represent double quotes (
" ) and single quotes (' ). For double quotes authors can also use the character entity reference" .
号
所以…似乎没什么区别。只取决于你的风格。
我用
1 | Click Me! |
在那个例子中,您必须同时使用这两种方法,这是不可避免的。
为Web开发人员引用约定简短的回答
在HTML中,单引号(")和双引号(")的使用是可互换的,没有区别。
但建议使用一致性,因此我们必须选择语法约定并定期使用它。
答案很长Web开发通常由许多编程语言组成。html、js、css、php、asp、ror、python等。因此,对于不同的编程语言,我们有许多语法约定。通常,一种语言的habbits会跟随我们到其他语言,即使它被认为是"不适当的",即评论惯例。对我来说,引用约定也属于这一类。
但我倾向于将HTML与PHP紧密结合使用。在PHP中,单引号和双引号有很大的区别。在带双引号的PHP中,"您可以直接在字符串的文本中插入变量"。(scriptingok.com)当使用单引号时,"文本按原样显示"。(scriptingok.com)
PHP takes longer to process double quoted strings. Since the PHP parser has to read the whole string in advance to detect any variable inside—and concatenate it—it takes longer to process than a single quoted string. (scriptingok.com)
号
nbsp;
Single quotes are easier on the server. Since PHP does not need to read the whole string in advance, the server can work faster and happier. (scriptingok.com)
号
其他需要考虑的事项
我的约定
有了对PHP的理解,我已经(为我自己和我公司的其他人)设置了一个约定,即默认情况下,将字符串表示为单引号,以便进行服务器优化。如果需要引号(如属性中的javascript),则在字符串中使用双引号,例如:
当然,如果我们使用的是PHP,并且希望解析器处理字符串中的PHP变量,那么我们应该有意使用双引号。江户十一〔一〕号
来源PHP中的单引号与双引号。(未注明日期)。2014年11月26日检索自http://www.scriptingok.com/tutorial/single-quotes-vs-double-quotes-in-php
如果一切都一样,也许使用单引号更好,因为它不需要按住SHIFT键。更少的击键次数=更少的RSI机会。
在HTML中,我认为使用
我自己的用法更喜欢attributes/html使用
这使我更容易阅读和检查。如果你的使用比我的更合理,就没有必要改变了。但是,对我来说,你的代码会很混乱。一切都是私人的。
事实上,最好的方法就是谷歌推荐的方法。双引号:https://google.github.io/styleguide/htmlcssguide.xml?showone=html_引号html_引号
请参阅https://google.github.io/styleguide/htmlcssguide.xml?showone=html_有效性html_有效性引用谷歌的建议:"使用有效的HTML是一个可测量的基线质量属性,有助于了解技术要求和约束,并确保正确使用HTML。"
我知道很多人都不同意,但这正是我所做的,我真的很喜欢这种编码风格:我实际上不使用HTML中的任何引号,除非它是绝对必要的。
例子:
1 2 3 4 5 6 7 8 | <form method=post action=#> <fieldset> <legend>Register here: </legend> <label for=account>Account: </label> <input id=account type=text name=account required> <label for=password>Password: </label> <input id=password type=password name=password required> ... |
只有当属性值中有空格或其他内容时,才使用双引号:
1 2 3 | <form class="val1 val2 val3" method=post action=#> ... </form> |
。
对HTML使用双引号
即
1 |
对javascript使用单引号
即
1 2 | $('#container').addClass('colorFont'); $(''); |
号
我在使用bootstrap时遇到了一个问题,使用双引号和使用单引号有关系(这不起作用)。class='row-fluid'给出了导致最后一个跨距低于其他跨距的问题,而不是坐在最右边,而class="row fluid"起作用。
(P)It makes no difference to the html but if you are generating html dynamically with another programming language then one way may be easier than another.(p)(P)For example in Java the double quote is used to indicate the start and end of a string,so if you want to include a double quote with in the string you have to escape it with a backslash.(p)字母名称(P)You don't have such a problem with the single quote,there use of the single quote makes for more readable code in Java.(p)字母名称(P)Especially if you have to write html elements with many attributes(note I usually use a library such as jhtml to write html in Java,but not always practical to do so)(p)
在以下情况下使用"而不是":
1 2 3 | <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 |
。
在以下情况下使用"而不是":
1 2 | <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容器中使用的是字符串,而不是字符。就我个人而言,我只会用一个或另一个作为标准,而不是把它们混合在一起,这看起来很凌乱。
我是这里的新手,但只有在第一个引号内使用双引号时才使用单引号。如果我不清楚,我给你举个例子:
1 2 3 | <p align="center" title='One quote mark at the beginning so now I can "cite".'> ... </p> |
希望我能帮忙。
在PHP中,使用双引号会导致性能略有下降,因为变量名是经过评估的,因此在实践中,在编写代码时,我总是使用单引号:
1 2 | echo"This will print you the value of $this_variable!"; echo 'This will literally say $this_variable with no evaluation.'; |
号
所以你可以改为写这个;
1 | echo 'This will show ' . $this_variable . '!'; |
我相信javascript的功能是相似的,所以性能上的微小改进,如果这对你很重要的话。
另外,如果您一直往下看到HTMLspec2.0,那么这里列出的所有标签;
W3 HTML DTD引用
(使用双引号。)无论您更经常使用哪个,一致性都很重要。
双引号用于字符串(即"这是字符串"),单引号用于字符(即"a"、"b"或"c")。根据编程语言和上下文的不同,可以避免对字符使用双引号,而不是对字符串使用单引号。
HTML不关心您使用哪一个。但是,如果您在一个PHP脚本中编写HTML,您应该坚持使用双引号,因为您需要避开它们(即"随便什么"),以避免混淆您自己和PHP。