当尝试添加多个变量时,它们会连接而不是添加--Javascript

时间:2017-02-07 16:32:07

标签: javascript variables concatenation

有很多重复的代码,所以我不会把它全部包括在内,但它的主要内容就在这里:

var Qs1; 
var Qs2;
var Qs3;
var Qs4;
var Qs5;
var Qs6;
var Qs7;
var Qs8;
var Qs9;
var Qs10;

if(boilingPan25 == 0) {
    var Qs1 = nBP * QBP * Zi0;
} else if(boilingPan25 == 1) {
    var Qs1 = nBP * QBP * Zi1;
}   else if(boilingPan25 == 2) {
    var Qs1 = nBP * QBP * Zi2;
} else if(boilingPan25 == 3) {
    var Qs1 = nBP * QBP * Zi3;
}   else if(boilingPan25 == 4) {
    var Qs1 = nBP * QBP * Zi4;
} else {
    var Qs1 = 5 * QBP * Zi5;
}

//document.write(Qs1);

if(tiltingPan70 == 0) {
    var Qs2 = nTP * QTP * Zi0;
} else if(tiltingPan70 == 1) {
    var Qs2 = nTP * QTP * Zi1;
}   else if(tiltingPan70 == 2) {
    var Qs2 = nTP * QTP * Zi2;
} else if(tiltingPan70 == 3) {
    var Qs2 = nTP * QTP * Zi3;
}   else if(tiltingPan70 == 4) {
    var Qs2 = nTP * QTP * Zi4;
} else {
    var Qs2 = 5 * QTP * Zi5;
}

因此,通过if循环找到变量Qs1 ... Qs10的值。当我将所有这些值一起添加时,它会打印出数字的串联,而不是简单地添加它们。以下是我打印出来的方法:

document.write(Qs1 + Qs2 + Qs3 + Qs4 + Qs5 + Qs6 + Qs7 + Qs8 + Qs9 + Qs10);

我已尝试添加" .value"到每个变量的末尾,但这不起作用。有什么建议?请只使用Javascript,没有jQuery。 感谢。

2 个答案:

答案 0 :(得分:1)

所以我会在这里走出去,说你得到的价值要么

  • 来自input(在这种情况下,这是this question的副本)或

  • 来自prompt(在这种情况下,它是this question的副本)。

无论哪种方式,值都是字符串。如果您想将它们用作数字,请使用parseIntparseFloatNumber或一元+解析它们:

var num = parseInt(str);
// or
var num = parseFloat(str);
// or
var num = Number(str);
// or
var num = +str;

最后两个做同样的事情;前两个做的事情略有不同(从彼此和最后两个)。有关详细信息,请参阅其文档。

答案 1 :(得分:-1)

使用parseInt(),parseFloat(),Number()等...

var myString = '1';
window.alert(myString + myString); // output = 11

var myNumber = parseInt(myString);
window.alert(myNumber + myNumber); // output = 2