—
要么 —
这些之间有区别吗?一个支持比另一个更好吗?
—
要么 —
这些之间有区别吗?一个支持比另一个更好吗?
Answers:
他们是完全相同的角色。参见:http : //en.wikipedia.org/wiki/Dash
除非存在浏览器错误,否则它们在所有情况下都将显示相同的内容,因此唯一的区别在于代码的可读性,它指向—
。
或者,如果您在HTML文档中使用UTF-8作为字符集,则可以直接输入字符。那也将显示完全相同。
&8212;
始终有效,而—
取决于声明了该实体。
—
:: —
::\u2014
当在JavaScript文本字符串中表示m短划线以输出到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>
)
}
这将输出:
<div>JSX transcoders will preserve the & character—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字符集编写的文档中。在所有其他情况下,应使用字母数字参考。
翻译:如果您正在寻求最广泛的支持,请选择 —