Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
301 views
in Technique[技术] by (71.8m points)

Javascript variables not adding, only concatenating as strings

I have some simple code that should add two numbers and it seems to keep adding them, i.e. if I have a variable that is initialized as 0 , I add 100 once, and then I add 200, it seems to add it as follows 0 + 100 + 100 + 200, returning 400 NOT 300. How can I get this to add correctly?

function calcScores(amount) {
    amount = parseInt(amount,10);
    for(var key in teamSelection) {
        if (teamSelection[key]['Selected']) {
            score = parseInt(teamSelection[key]['Score'],10);
            var total = +score + +amount;
            teamSelection[key]['Score'] = total;
        }
    }
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
var total = +score + +amount;

This line is confusing to me. If you want to add score and amount to total, use

var total += score + amount;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...