Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
下面的Javascript语句返回什么?为什么?_Javascript_Return_Statements - Fatal编程技术网

下面的Javascript语句返回什么?为什么?

下面的Javascript语句返回什么?为什么?,javascript,return,statements,Javascript,Return,Statements,我正在学习JavaScript,有人问我这个问题,有人能帮我吗?下面的Javascript语句返回什么?为什么 parseInt(“07”); parseInt(“09”); parseInt(“010”) “1”+2+3 “1”==1; "1" === 1; “1”==真; “1”==假 parseInt("07"); parseInt("09"); parseInt("010"); 7, 0, (invalid) 8 分别。这是因为前面的0指定了八进制数。八进制数只能包含0-7之间的字符

我正在学习JavaScript,有人问我这个问题,有人能帮我吗?下面的Javascript语句返回什么?为什么

parseInt(“07”); parseInt(“09”); parseInt(“010”)

“1”+2+3

“1”==1; "1" === 1; “1”==真; “1”==假

parseInt("07"); parseInt("09"); parseInt("010");

7,
0, (invalid)
8
分别。这是因为前面的0指定了八进制数。八进制数只能包含0-7之间的字符。9是无效的

"1" + 2 + 3;
123(字符串)

分别。这是因为前面的0指定了八进制数。八进制数只能包含0-7之间的字符。9是无效的

"1" + 2 + 3;
123(字符串)


启动开发控制台(如Chrome Developer Tools或Firebug中的控制台)并键入语句,您将得到以下结果:

parseInt('07'); -> 7
parseInt('09'); -> 0
parseInt('010'); -> 8
发生这种情况是因为parseInt试图确定所传递字符串中包含的数字的正确基数。这些数字以0开头,因此JavaScript假定您传递的是“八进制”值。例如,09在那里不存在,所以它返回0。 您可以通过将第二个参数传递给parseInt(称为“基数”)轻松解决这个问题

所以,如果你想要十进制数,大多数情况下都是这样,你可以写:

parseInt('09', 10);


"1" + 2 + 3;
将返回字符串“123”,因为JavaScript会在幕后自动转换类型。将数字添加到字符串只会转换它们并连接它们

"1" == 1; "1" === 1; "1" == true; "1" === false;
这里我们有两个不同的操作符进行比较<代码>=将只比较值,
==
将比较值和类型。大多数时候使用
===
被认为是一种很好的做法,除非您确实确定要使用
==


您的第一条语句将返回true,类型在后台转换并且值相同,您的第二条语句将返回false,因为类型未转换并且您正在将字符串与数字进行比较。第三个将返回true,因为“1”被视为truthy值。第四个当然会返回false,因此。

启动开发控制台(如Chrome Developer Tools或Firebug中的控制台)并键入语句,您将得到以下结果:

parseInt('07'); -> 7
parseInt('09'); -> 0
parseInt('010'); -> 8
发生这种情况是因为parseInt试图确定所传递字符串中包含的数字的正确基数。这些数字以0开头,因此JavaScript假定您传递的是“八进制”值。例如,09在那里不存在,所以它返回0。 您可以通过将第二个参数传递给parseInt(称为“基数”)轻松解决这个问题

所以,如果你想要十进制数,大多数情况下都是这样,你可以写:

parseInt('09', 10);


"1" + 2 + 3;
将返回字符串“123”,因为JavaScript会在幕后自动转换类型。将数字添加到字符串只会转换它们并连接它们

"1" == 1; "1" === 1; "1" == true; "1" === false;
这里我们有两个不同的操作符进行比较<代码>=将只比较值,
==
将比较值和类型。大多数时候使用
===
被认为是一种很好的做法,除非您确实确定要使用
==


您的第一条语句将返回true,类型在后台转换并且值相同,您的第二条语句将返回false,因为类型未转换并且您正在将字符串与数字进行比较。第三个将返回true,因为“1”被视为truthy值。第四个当然会返回false,因此。

如果这是家庭作业,请将其标记为false,也可以使用jsbin或smt查找返回值,然后想想为什么您可以轻松编写一个简单的HTML页面,并使用alert()向您提供答案以及与parseInt相关的-;将基数参数传递给parseInt函数。如果这是作业,请将其标记为作业,也可以使用jsbin或smt查找返回值,然后想想为什么您可以轻松编写一个简单的HTML页面,并使用alert()为您提供答案以及与parseInt相关的-;将基数参数传递给parseInt函数。