Javascript js添加脚本工作不正常
以下代码应打印x和y的总和。它在W3编辑器上工作,但不是我的Sublime?我不明白为什么Javascript js添加脚本工作不正常,javascript,function,math,addition,Javascript,Function,Math,Addition,以下代码应打印x和y的总和。它在W3编辑器上工作,但不是我的Sublime?我不明白为什么 函数添加(){ var x=提示(“输入一个数字”); var y=提示(“输入另一个数字”); var a=x+y; 警报(a); } 添加(); 成功 function add () { var x =parseInt(prompt("Enter a number."),10); var y = parseInt(prompt("Enter another number."),10
函数添加(){
var x=提示(“输入一个数字”);
var y=提示(“输入另一个数字”);
var a=x+y;
警报(a);
}
添加();
成功
function add () {
var x =parseInt(prompt("Enter a number."),10);
var y = parseInt(prompt("Enter another number."),10);
if ( !isNaN(x) && !isNaN(y) )
{
var a = x + y;
alert(a);
}
else
{
alert("One of the numbers is not valid");
}
}
您需要首先将从提示符接收到的字符串解析为整数。
function add () {
var x =parseInt(prompt("Enter a number."),10);
var y = parseInt(prompt("Enter another number."),10);
if ( !isNaN(x) && !isNaN(y) )
{
var a = x + y;
alert(a);
}
else
{
alert("One of the numbers is not valid");
}
}
您需要首先将从提示符接收的字符串解析为整数。您可以使用:
function add () {
var x = Number(prompt("Enter a number."));
var y = Number(prompt("Enter another number."));
var a = x + y;
alert(a);
}
您可以使用:
function add () {
var x = Number(prompt("Enter a number."));
var y = Number(prompt("Enter another number."));
var a = x + y;
alert(a);
}
我认为这是因为prompt返回类型string。尝试使用
parseInt()
功能。所以
var x = parseInt(prompt("Enter a number."));
我认为这是因为prompt返回类型string。尝试使用
parseInt()
功能。所以
var x = parseInt(prompt("Enter a number."));
值是字符串,因此
+
运算符将其视为字符串串联。使用parseInt()
生成整数,然后进行加法:
函数添加(){
//最好将基数包含在parseInt中
var x=parseInt(提示(“输入一个数字”),10);
var y=parseInt(提示(“输入另一个数字”),10);
//NaN的快速脏检查
如果(!(x!=x)和(&!(y!=y)){
var a=x+y;
警报(a);
}否则{
警报(“两个输入都必须是有效整数!”);
}
}
添加()代码>值是字符串,因此+
运算符将其视为字符串串联。使用parseInt()
生成整数,然后进行加法:
函数添加(){
//最好将基数包含在parseInt中
var x=parseInt(提示(“输入一个数字”),10);
var y=parseInt(提示(“输入另一个数字”),10);
//NaN的快速脏检查
如果(!(x!=x)和(&!(y!=y)){
var a=x+y;
警报(a);
}否则{
警报(“两个输入都必须是有效整数!”);
}
}
添加()代码>提示符
始终返回字符串。在进行数学运算之前,必须将返回值转换为数字。在这种情况下,JS不会执行自动类型强制,因为+
运算符也用于连接字符串。@teemu ParseInt方法?那,或者parseFloat
或者一元+
或者Number
构造函数。您能解释一下区别吗?所有4个都工作。在引擎盖下必须有差异(使用的字节,等等)。@chignon这里是对JavaScriptNumber
wrapper对象及其属性和方法的完整引用:prompt
始终返回字符串。在进行数学运算之前,必须将返回值转换为数字。在这种情况下,JS不会执行自动类型强制,因为+
运算符也用于连接字符串。@teemu ParseInt方法?那,或者parseFloat
或者一元+
或者Number
构造函数。您能解释一下区别吗?所有4个都工作。在引擎盖下一定会有差异(使用的字节等)。@chignon这里有对JavaScriptNumber
wrapper对象及其属性和方法的完整引用:不要忘记基数。也不要忘记检查NaN
@j08691和War10ck,感谢您指出,为NaN做了更改我有困难…请举例?@chignon NaN代表非数字isNaN
检查传递的参数是否为数字。不要忘记基数。也不要忘记检查NaN
@j08691和War10ck,感谢您指出,对NaN进行更改检查我很难理解…例如:@chignon NaN代表非数字isNaN
检查传递的参数是否为数字。