js 添加脚本无法正常工作
js addition script not working properly
以下代码应打印 x 和 y 的 SUM。它适用于 W3 编辑器,但不适用于我的 Sublime?我不明白为什么。
function add () {
var x = prompt("Enter a number.");
var y = prompt("Enter another number.");
var a = x + y;
alert(a);
}
<script>
add();
</script>
我得到的输出实际上是xy。如果我输入 x=1 和 y=2,我得到 12。
如果我只是在没有函数的情况下将 js 代码打到 body 中,我也会 运行 遇到同样的问题。我找不到我的错误。会不会是我的编辑?
成功
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);
}
我想是因为提示returns输入字符串。尝试使用
parseInt()
函数。所以
var x = parseInt(prompt("Enter a number."));
这些值是字符串,因此 +
运算符将其视为字符串连接。使用parseInt()
生成整数,然后做加法:
function add () {
// Best to include radix with parseInt
var x = parseInt(prompt("Enter a number."), 10);
var y = parseInt(prompt("Enter another number."), 10);
// Quick and dirty check for NaN
if(!(x != x) && !(y != y)) {
var a = x + y;
alert(a);
} else {
alert("Both inputs must be valid integers!");
}
}
add();
只是为了好玩,这里有一个更短的方法:
function add () {
var x = +prompt("Enter a number."),
y = +prompt("Enter another number.");
alert((!(x != x) && !(y != y)) ? x + y : "Both values must be integers!");
}
add();
以下代码应打印 x 和 y 的 SUM。它适用于 W3 编辑器,但不适用于我的 Sublime?我不明白为什么。
function add () {
var x = prompt("Enter a number.");
var y = prompt("Enter another number.");
var a = x + y;
alert(a);
}
<script>
add();
</script>
我得到的输出实际上是xy。如果我输入 x=1 和 y=2,我得到 12。
如果我只是在没有函数的情况下将 js 代码打到 body 中,我也会 运行 遇到同样的问题。我找不到我的错误。会不会是我的编辑?
成功
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);
}
我想是因为提示returns输入字符串。尝试使用
parseInt()
函数。所以
var x = parseInt(prompt("Enter a number."));
这些值是字符串,因此 +
运算符将其视为字符串连接。使用parseInt()
生成整数,然后做加法:
function add () {
// Best to include radix with parseInt
var x = parseInt(prompt("Enter a number."), 10);
var y = parseInt(prompt("Enter another number."), 10);
// Quick and dirty check for NaN
if(!(x != x) && !(y != y)) {
var a = x + y;
alert(a);
} else {
alert("Both inputs must be valid integers!");
}
}
add();
只是为了好玩,这里有一个更短的方法:
function add () {
var x = +prompt("Enter a number."),
y = +prompt("Enter another number.");
alert((!(x != x) && !(y != y)) ? x + y : "Both values must be integers!");
}
add();