Que*_*tin 84
SGML解析器(或XHTML情况下的XML解析器)可以处理—而无需处理DTD(这对于浏览器来说无关紧要,因为它们只是标记汤),而—人类更容易在源代码中读写.
就个人而言,我会坚持使用文字em-dash并确保我的字符编码设置是一致的.
RoT*_*oRa 13
它们是完全相同的角色.请参阅:http://en.wikipedia.org/wiki/Dash
除了浏览器错误,他们将在所有情况下显示相同的内容,因此唯一的区别在于代码可读性,这将指向—.
或者,如果您在HTML文档中使用UTF-8作为字符集,则可以直接输入字符.这也将显示完全相同.
—:: —::\u2014
在JavaScript文本字符串中表示m-dash以输出到HTML时,请注意它由unicode值表示.有些情况下,&符号('&')将无法解析 - 特别是JSX中的某些上下文.在这种情况下,既—不会也—不会奏效.相反,您需要使用Unicode转义序列:\u2014.
例如,在实现render()从JavaScript变量输出文本的方法时:
render() {
let text='JSX transcoders will preserve the & character—to '
+ 'protect from possible script hacking and cross-site hacks.'
return (
<div>{text}</div>
)
}
Run Code Online (Sandbox Code Playgroud)
这将输出:
<div>JSX transcoders will preserve the & character—to protect from possible script hacking and cross-site hacks.</div>
Run Code Online (Sandbox Code Playgroud)
而不是&- 前缀表示,你应该使用\ u2014:
let text='JSX transcoders will preserve the & character\u2014to …'
Run Code Online (Sandbox Code Playgroud)