JavaScript 初学者遇到的引号问题

标签 javascript variables type-conversion

我正在尝试从一本书(Jeremy McPeak 的《Beginner JavaScript》)中学习 JS,但我被这段代码困住了:

<script>
var myString = "56.02 degrees centigrade";

document.write("\"" + myString + "\" is " + parseInt(myString, 10) +
" as an integer" + "<br/>");
</script>

html 中的结果是这样的:"56.02 degrees centigrade" is 56 as an integer .

我不明白的是,书中没有解释——为什么这段代码要这样写?有人可以用外行的话解释一下为什么我们以 "\"" 开头吗? (为什么不只是 \" 因为这是双引号的转义序列),为什么之后我们必须写 "\" (如果我们想要 myString 的右引号,不应该只是 \" 吗),为什么后面写的是: is " ?基本上,第一部分真的让我很困惑。

最佳答案

在 Javascript(以及大多数其他语言)中,您可以通过在一对引号字符之间放置一个字符序列来编写字符串。所以包含abc的字符串写为

"abc"

如果您希望字符串中的某个字符成为引号字符,则必须对其进行转义,这样它就不会被视为字符串的结尾。因此,包含 abc"def 的字符串将写为:

"abc\"def"

这在您的代码中得到了演示

"\" is "

这是一个以文字引号开头的字符串,后跟单词 is

如果您想要一个仅包含引号字符的字符串,则需要在引号之间放置一个转义引号,以表明您正在编写一个字符串:

"\""

这就是代码中串联表达式开头的内容。

如果你刚刚写了

\"

这将是一个转义引号。但由于它不在引号内,所以它不是一个字符串——它不是任何内容的有效语法。

在 Javascript 中,还有另一种选择。它允许使用单引号和双引号来包围字符串。因此,如果您有一个包含双引号的字符串,则可以将其放在单引号内:

'"'

您不需要转义它,因为双引号不会结束以单引号开头的字符串。相反,如果要在字符串中放入单引号,请使用双引号作为分隔符:

"This is Barry's answer"

关于JavaScript 初学者遇到的引号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31062544/

相关文章:

javascript - 如何设置要在 Netsuite 的列表 Portlet 中显示的行数?

json - 通过 jq 从字符串中解析浮点值

android - 在 SQLite 字符串字段中使用变量

C++类设计: member and local variables

C# - 无法从事件处理程序访问全局变量

arrays - 数组到字典(无循环)

javascript - 将 URL 查询参数转换为对象 - 保留类型?

javascript - 延迟 Service Worker 更新检查的正确方法是什么?

javascript - 如何让javascript在桌面而不是移动设备上运行一个功能

php - 跨域 AJAX 不工作 PHP