繁体   English   中英

JavaScript 初学者的引号问题

[英]JavaScript beginner troubles with quotation marks

我正在尝试从一本书(Jeremy McPeak 的初学者 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"

myString 是一个字符串。 函数 parseInt(string, radix) 将字符串解析为整数(更多示例请参见此处)。

引号是它们的方式,以便输出显示引号。 如果您不希望输出中的引号,则 js 可以简化为:

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

但这在展示 parseInt 的工作原理时并不清楚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM