JavaScript初学者用引号

时间:2015-06-25 23:35:33

标签: javascript variables type-conversion

我试图从书中学习JS(Jeremy McPeak的初学者JavaScript),但我仍然坚持使用这段代码:

<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 "?基本上,第一部分真的让我困惑。

2 个答案:

答案 0 :(得分:3)

在Javascript(和大多数其他语言)中,您通过在一对引号字符之间放置一系列字符来编写字符串。因此,包含abc的字符串将写为

"abc"

如果您希望字符串中的某个字符是引号字符,则必须将其转义,因此不会将其视为字符串的结尾。因此,包含abc"def的字符串将写为:

"abc\"def"

这在您的代码中有所体现

"\" is "

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

如果你想要一个只包含 引号字符的字符串,你需要在引号之间放一个表示你正在写字符串的引号:

"\""

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

如果你刚写了

\"

这将是一个逃脱的报价。但是因为它不在引号内,所以它不是字符串 - 它不是任何有效的语法。

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

'"'

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

"This is Barry's answer"

答案 1 :(得分:1)

myString是一个字符串。函数parseInt(string,radix)将字符串解析为整数(see this for more examples)。

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

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

但在展示parseInt的工作方式时,这并不清楚。