Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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 给出错误答案的数字的Java脚本加法_Javascript - Fatal编程技术网

Javascript 给出错误答案的数字的Java脚本加法

Javascript 给出错误答案的数字的Java脚本加法,javascript,Javascript,我使用的是一个简单的java脚本代码,如下所示 <script> var x=prompt("Enter a number"); var n=x+2; alert(n); </scrip> var x=提示(“输入一个数字”); var n=x+2; 警报(n); 如果在提示中输入2,此代码将引发提示。我希望输出为4,但它在警报中生成22。这里发生了什么错误。是的 var n; if(!isNaN(x)) { n = parseInt(x) + 2; /

我使用的是一个简单的java脚本代码,如下所示

<script>
var x=prompt("Enter a number");
var n=x+2;
alert(n);
</scrip>

var x=提示(“输入一个数字”);
var n=x+2;
警报(n);
如果在提示中输入2,此代码将引发提示。我希望输出为4,但它在警报中生成22。这里发生了什么错误。

是的

 var n;
 if(!isNaN(x)) {
    n = parseInt(x) + 2; // make sure x is always a number here
 }
这是因为
提示符
函数将返回一个
字符串
,而不是一个数字

String
+
Number
=
String


<script>
var x=prompt("Enter a number");
var n=parseInt(x)+2;
alert(n);
</scrip>
var x=提示(“输入一个数字”); var n=parseInt(x)+2; 警报(n);
试试看


var x=提示(“输入一个数字”);
var n=parseInt(x)+2;
警报(n);

这里有一种替代方法:

var x = +prompt("Enter a number");
var n = x+2;
alert(n);

加号(在
提示符
前面)将字符串转换为数字。

因为用户输入字符串,您的数字将转换为字符串。尝试输入“18”,您将看到“182”。检查MDN上的parseInt()。与其给出正确答案,不如描述提问者使用的代码中出现了什么问题。要想做得更好,只需对@adrianorepetti的评论点头即可
var x = +prompt("Enter a number");
var n = x+2;
alert(n);