我想问两个问题,用户在哪里输入数字,然后计算机将这两个数字相加。但是,当我运行此代码时,它只会像字符串一样将它们组合在一起,并且不会添加。
这是我的代码:
<body>
<p id="info"></p>
<script type="text/javascript">
var a = Number(prompt("Hvor mye kostet popcorn??"));
var b = Number(prompt("Hvor mye kostet sjokolademelken?"));
document.write("Prisen for varene dine ble " + a + b + "kr.");
</script>
答案 0 :(得分:2)
您应该在a + b
前面加上方括号,以便JS知道首先要评估该表达式。
document.write("Prisen for varene dine ble " + (a + b) + "kr.");
这样,它将首先计算a + b
的数字表达式,并将该数字与字符串连接起来。没有括号,代码将从左到右看,看到您正在将字符串和数字组合在一起,因此只需正常地将它们连接起来,然后再对变量b进行连接。
答案 1 :(得分:2)
您可以在输出周围添加方括号以指定它是加法运算(而不是串联):
document.write("Prisen for varene dine ble " + (a + b) + "kr.");
这是一个工作示例:
var a = Number(prompt("Hvor mye kostet popcorn??"));
var b = Number(prompt("Hvor mye kostet sjokolademelken?"));
document.write("Prisen for varene dine ble " + (a + b) + "kr.");
答案 2 :(得分:1)
只需将a + b的值存储在另一个变量中,或将其放在方括号之间即可。
config :My_app, MyApp.Scheduler,
jobs: [
{"*/5 * * * *", fn -> Mix.Task.run "first_mix_task" end},
{"*/5 * * * *", fn -> Mix.Task.run "second_mix_task" end},
{"*/5 * * * *", fn -> Mix.Task.run "third_mix_task" end},
{"*/5 * * * *", fn -> Mix.Task.run "fourth_mix_task" end}
]
修改
var a = Number(prompt("Hvor mye kostet popcorn??"));
var b = Number(prompt("Hvor mye kostet sjokolademelken?"));
var result = a+b;
document.write("Prisen for varene dine ble " + (result) + "kr.");
答案 3 :(得分:0)
在JS中,当您在数字和字符串之间使用+
运算符时,它将始终将数字转换为字符串并进行字符串连接。这实际上是您想要的,您只需要将总和括在括号中以确保总和被视为介于两个数字之间即可:
document.write("Prisen for varene dine ble " + (a + b) + "kr.");
答案 4 :(得分:-1)
您在document.write()中的变量a和b之间的“ +”运算符不会相互添加两个变量。在该功能中它还有另一个含义。