這里的加法運算,“+”是不是成了字符連接符,為什么其他運算都可以正常進行,就這個是把兩個數(shù)連接起來輸出呢?
? function sub2() ? ? ? ? ? ? ? ? ? ? //定義函數(shù)
?{
? ? var a = prompt("請輸入前式:");
? ? var b = prompt("請輸入后式:");
? ? var s = prompt("選擇運算:");
? ? switch(s){
? ? ? ? case '-':
? ? ? ? ? ? sub=a-b;
? ? ? ? ? ? alert("a和b的差:"+sub);
? ? ? ? ? ? break;
? ? ? ? case '+':
? ? ? ? ? ? sub=a+b;
? ? ? ? ? ? alert("a和b的和:"+sub);
? ? ? ? ? ? break;
? ? ? ? case '*':
? ? ? ? ? ? sub=a*b;
? ? ? ? ? ? alert("a和b的積:"+sub);
? ? ? ? ? ? break;
? ? ? ? case '/':
? ? ? ? ? ? sub=a/b;
? ? ? ? ? ? alert("a和b的商:"+sub);
? ? ? ? ? ? break;
? ? ? ? default:
? ? ? ? ? ? alert("輸入錯誤!");
? ? ? ? ? ? break;
? ? }
?}
2017-05-02
這其實是JavaScript為人詬病的一個地方,因為是動態(tài)類型的語言,每一個變量其實可以調(diào)有valueOf()和toString();這些方法交給運行環(huán)境去選擇,通常在數(shù)值運算里面會優(yōu)先調(diào)用valueOf();在字符串運算中會優(yōu)先調(diào)用toString();比如這里面的+的運算符前面是一個字符串,所以就調(diào)用的toString()方法;
2020-06-09
試了一下,你用parseInt把prompt包起來就沒問題了
、