JavaScript初学者遇到引号问题
我正试图从一本书(Jeremy McPeak的初学者JavaScript)中学习JS,但我仍然坚持以下代码:JavaScript初学者遇到引号问题,javascript,variables,type-conversion,Javascript,Variables,Type Conversion,我正试图从一本书(Jeremy McPeak的初学者JavaScript)中学习JS,但我仍然坚持以下代码: <script> var myString = "56.02 degrees centigrade"; document.write("\"" + myString + "\" is " + parseInt(myString, 10) + " as an integer" + "<br/>"); </script> var myString=“
<script>
var myString = "56.02 degrees centigrade";
document.write("\"" + myString + "\" is " + parseInt(myString, 10) +
" as an integer" + "<br/>");
</script>
var myString=“56.02摄氏度”;
document.write(“\”+myString+“\”是“+parseInt(myString,10)+
“作为整数”+“
”;
html中的结果是:“56.02摄氏度”作为一个整数是56
书中没有解释我不明白的地方——为什么要这样写代码?有人能用外行的语言解释一下为什么我们要从“\”
(为什么不只是\”
,因为这是双引号的转义序列),为什么在那之后我们必须写“\”
(如果我们想要myString的结束引号,不应该是\”
),为什么要在那之后写:是“
?基本上,第一部分让我很困惑。myString是一个字符串。函数parseInt(string,radix)将字符串解析为整数()
引号是它们的方式,以便输出显示引号。如果您不想在输出中使用引号,js可以简化为:
document.write(myString + " is " + parseInt(myString, 10) + " as an integer" + "<br/>");
document.write(myString+”是“+parseInt(myString,10)+”作为一个整数“+”
”;
但在显示parseInt如何工作时,这一点就不那么清楚了。myString是一个字符串。函数parseInt(string,radix)将字符串解析为整数()
引号是它们的方式,以便输出显示引号。如果您不想在输出中使用引号,js可以简化为:
document.write(myString + " is " + parseInt(myString, 10) + " as an integer" + "<br/>");
document.write(myString+”是“+parseInt(myString,10)+”作为一个整数“+”
”;
但是在显示parseInt的工作原理时,这一点就不那么清楚了。在Javascript(以及大多数其他语言)中,您可以通过在一对引号字符之间放置一个字符序列来编写字符串。因此,包含abc
的字符串写为
"abc"
如果希望字符串中的一个字符是引号字符,则必须对其进行转义,这样它就不会被视为字符串的结尾。因此,包含abc“def
的字符串将写为:
"abc\"def"
这在您的代码中得到了演示
"\" is "
这是一个字符串,以文字引号开头,后跟单词is
如果希望字符串只包含引号字符,则需要在引号之间加一个转义引号,以指示正在编写字符串:
"\""
这就是代码中串联表达式的开头
如果你只是写信
\"
这将是一个转义引号,但由于它不在引号内,所以它不是一个字符串——它不是任何东西的有效语法
在Javascript中,还有另一个选项。它允许使用单引号和双引号来包围字符串。因此,如果字符串包含双引号,可以将其放在单引号内:
'"'
不需要对其进行转义,因为双引号不会结束以单引号开头的字符串。相反,如果要在字符串中放置单引号,请使用双引号作为分隔符:
"This is Barry's answer"
在Javascript(和大多数其他语言)中,您通过在一对引号字符之间放置一个字符序列来编写字符串。因此,包含abc
的字符串被编写为
"abc"
如果希望字符串中的一个字符是引号字符,则必须对其进行转义,这样它就不会被视为字符串的结尾。因此,包含abc“def
的字符串将被写入:
"abc\"def"
这在您的代码中得到了演示
"\" is "
这是一个字符串,以文字引号开头,后跟单词is
如果希望字符串只包含引号字符,则需要在引号之间加一个转义引号,以指示正在编写字符串:
"\""
这就是代码中串联表达式的开头
如果你只是写信
\"
那将是一句漏掉的话。但因为它不是引号,所以它不是字符串——它不是任何东西的有效语法
在Javascript中,还有另一个选项。它允许使用单引号和双引号来包围字符串。因此,如果字符串包含双引号,可以将其放在单引号内:
'"'
您不需要转义它,因为双引号不会结束以单引号开头的字符串。相反,如果要在字符串中添加单引号,请使用双引号作为分隔符:
"This is Barry's answer"
你真的在代码中有那些*
字符吗?你可以使用“
或”
作为JavaScript中的字符串文字引号。因此“
可以写为”
。如果它写为”
,会混淆JavaScript解析-字符串真正的结尾在哪里?(“
将被解析为两个标记-”
,“
”,因此语法无效。)转义字符(````表示“引号没有结束字符串,将其作为引号字符包含在字符串中”。任何[好的]教程都会涉及到这一点。“你真的在代码中有那些*字符吗?”当然没有,对不起-根据手册,我只是想强调代码的第一部分。你真的在代码中有那些*
字符吗?你可以使用“
或”
作为JavaScript中的字符串文字引号。所以“\”
可以写成“
”。如果它被写为“
”,这将混淆JavaScript解析-字符串真正结束在哪里?(“
将被解析为两个标记-”
,“
”-因此语法无效。)转义字符(````表示“引号没有结束字符串,请将其作为引号字符包含在字符串中“。这将包含在任何[好的]教程中。“代码中真的有这些*字符吗?”当然没有,对不起-第一次使用,我只是想强调一下。”