首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >`—`还是`—`输出有区别吗?

`—`还是`—`输出有区别吗?
EN

Stack Overflow用户
提问于 2010-11-09 20:44:40
回答 4查看 143.7K关注 0票数 81

——

这两者之间有区别吗?其中一个比另一个更受支持吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-09 20:53:00

SGML解析器(或者XHTML中的XML解析器)可以在不处理DTD的情况下处理— (这对浏览器来说无关紧要,因为它们只是在喝标签汤),而—更易于人类在源代码中读取和写入。

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

票数 85
EN

Stack Overflow用户

发布于 2010-11-09 20:52:07

他们是完全相同的角色。请参阅:http://en.wikipedia.org/wiki/Dash

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

或者,如果在HTML文档中使用UTF-8作为字符集,则可以直接输入字符。这也将显示完全相同的内容。

票数 13
EN

Stack Overflow用户

发布于 2017-04-25 13:46:52

— ::— ::\u2014

在输出到HTML的JavaScript文本字符串中表示m-破折号时,请注意,它将由其Unicode值表示。在某些情况下,与号字符('&')不能被解析--特别是JSX中的某些上下文。在这种情况下,——都不起作用。相反,您需要使用Unicode转义序列:\u2014

例如,在实现从JavaScript变量输出文本的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>
   )
}

这将输出:

代码语言:javascript
复制
<div>JSX transcoders will preserve the & character&mdash;to protect from possible script hacking and cross-site hacks.</div>

您应该使用\u2014,而不是&前缀的表示:

代码语言:javascript
复制
let text='JSX transcoders will preserve the & character\u2014to …'
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4133766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档