我有这个功能:
function add(x,y)
{
alert("sum is " + x+y);
}
当我用数字称呼它时,它不会加。所以打电话
add(1,2)
警报
sum is 12
不是
sum is 3
应该如此。为什么?我该如何提醒金额?
答案 0 :(得分:1)
通过以字符串(<template id="mystyle" name="My style" inherit_id="website.assets_frontend">
<xpath expr="link[last()]" position="after">
<link rel="stylesheet" type="text/scss" href="/theme folder/static/scss/style.scss"/>
</xpath>
</template>
开头表达式,JavaScript将以字符串形式评估整个表达式 。将两个字符串加在一起就可以简单地合并(“连接”)它们。
您可以对"The sum is..."
进行分组,以使其首先/单独进行评估,这与数学中的运算顺序类似。
(有关更多信息:Arithmetic operators in JavaScript)
(x + y)
正如我前面提到的,该表达式被评估为字符串,因为它以开头。但是,如果我们从添加内容开始呢?
function add(x, y) {
alert("sum is " + (x + y));
}
add(5,2);
也许最好的方法是简单地使用template literal。
function add(x, y) {
alert(x + y + " is the sum");
}
add(5, 2);
答案 1 :(得分:0)
问题是在下面的行中,数字之前是字符串:alert("sum is " + x+y);
-这将导致JavaScript将每个项目都视为要连接的字符串,而不是添加的字符串。您可以通过简单地在alert
之前进行加法并将其存储在变量中来对此进行补救。像这样:
function add(x, y) {
var sum = x + y;
alert("sum is " + sum);
}
add(5, 10);