加減乘除這種東西還需要講嗎? 要
變數A = 變數A + 變數B;
如果是程式新手,可能會寫個變數A + 變數B
,然後問值怎麼沒變
運算完的值如果沒有存是不會儲存的,想把A的值加上B的話記得把結果值賦給A
let numA = 10;
let numB = 5;
console.log(numA + numB); //15
console.log(numA); //10
numA = numA + numB;
console.log(numA); //15
let numA = 5;
let numB = 10;
let strA = 'hello';
let strB = 'world';
let strC = '5';
let noData = null;
console.log(numA + numB); //15
console.log(strA + strB); //helloworld
console.log(strA + numA); //hello5
console.log(numA + strC); //55 你以為會是10嗎?
console.log(strA + noData); //hellonull
console.log(numA + noData); //5
跟加法的差異是沒有字串拼接這功能,基本只用來做數學運算
let numA = 5;
let numB = 10;
let strA = 'hello world';
let strB = 'world';
let strC = '5';
let noData = null;
console.log(numA - numB); //-5
console.log(strA - strB); //NAN 字串不能用相減來裁切
console.log(numA - strC); //0
console.log(numA - noData); //5
乘法跟除法基本跟減法規則差不多,記得沒事別拿數字以外的型別做減乘除。
變數++
效果等同變數 = 變數 + 1;
變數--
效果等同變數 = 變數 - 1;
分成有++在後面的變數++
跟在前面的++變數
差別在變數++
跟變數--
,會在此行程式執行完後做加1減1(不影響此行結果)++變數
跟--變數
則是會在此行程式執行前就先做加減,結果會直接影響。
let numA = 5;
let numB = 10;
console.log(numA++); //5 印出了5 但印完後numA已經變成6
console.log(numA); //6
console.log(++numA); //7
console.log(numA++ + numB); //17
console.log(numA); //8
console.log(--numA + numB); //17 先減1才做運算結果會直接反映
用來比較兩個值是否相同,相同的話結果為true
,反之為false
比較有==
(相等)跟===
(全等)兩種
差別是作相等比較時,會將兩邊值轉成同一型別作比較,
全等則是要在不轉型別的情況下相同才會true
另外有比較是否不同的!=
(不相等)跟!==
(不全等)
範例
let numA = 0;
let str = '0';
let aNull = null;
let aUndefined;
console.log(numA == str); //true 經轉型別後相同
console.log(numA === str); //false 未轉型別就不同
console.log(numA == false); //true ?
console.log(str == false); //true ??
console.log(aNull == aUndefined); //true ???
將值轉型別後會有很多匪夷所思的結果,建議在做比較時請用===
跟!==
本來昨天預告說今天寫數字,結果發現沒講運算的情況數字能寫得太少只好延期(
今天就不做預告了,我想想明天該寫數字還是判斷式...
變數--跟--變數原理相同
,想請問這裡這樣說是不是怪怪的,
如果放在迴圈裏面先減後減會差很多不是嗎?懇請指教~~
抱歉,可能我講的不是很清楚~
這句講得是變數--
跟變數++
原理相同--變數
跟++變數
原理相同
這兩組差別只是運算時是加1跟減1,
可能我敘述讓人誤會--變數
跟變數--
是一樣的功能,
這兩個也是有執行前減1跟執行後減1的差別
我會改一下敘述,感謝留言0.0/