`—`或`" HTML输出是否有区别?

— 或者

这些有区别吗? 比另一个更好的支持吗?

SGMLparsing器(或XHTML情况下的XMLparsing器)可以处理— 而不必处理DTD(这对浏览器来说无关紧要,因为他们只是盯着标签汤),而— 对于人类来说更容易在源代码中读写。

就个人而言,我会坚持一个字面上的破折号,并确保我的字符编码设置是一致的。

他们是完全一样的性格。 请参阅: http : //en.wikipedia.org/wiki/Dash

除了浏览器错误之外,它们在所有情况下都会显示相同的内容,所以唯一的区别就是代码的可读性,这将指向—

或者,如果您在HTML文档中使用UTF-8作为字符集,则可以直接input字符。 这也将显示完全一样的。

可能是因为使用数字代码更通用,因为它是直接引用到html实体表中的一个字符,但我猜他们都可以在任何地方工作。 第一个符号只是大量容易记住很多字符。

— :: — :: \u2014

在将JavaScript文本string中的m-dash表示为输出为HTML时,请注意,它将由其unicode值表示。 在某些情况下,&符号('&')将不会被parsing,特别是JSX中的某些上下文。 在这种情况下, 也不是— 将工作。 相反,您需要使用Unicode转义序列: \u2014

例如,在实现render()方法从JavaScriptvariables输出文本时:

 render() { let text='JSX transcoders will preserve the & character&mdash;to ' + 'protect from possible script hacking and cross-site hacks.' return ( <div>{text}</div> ) } 

这将输出:

 <div>JSX transcoders will preserve the & character&mdash;to protect from possible script hacking and cross-site hacks.</div> 

而不是前缀表示,你应该使用\ u2014:

 let text='JSX transcoders will preserve the & character\u2014to '… 

来自W3网站用于排版的常用HTML实体

为了便于携带,应该保留Unicode实体引用,以便在某些文件中使用UTF-8或UTF-16字符集。 在所有其他情况下,应使用字母数字参考。

翻译:如果您正在寻求最广泛的支持,请使用&mdash;