自學日記

學習程式相關知識及學習法

0%

JS 運算元與運算子

JS 運算元與運算子

介紹運算元與運算子

運算元與運算子

1
2
3
4
/*其中"+"為運算子=運算符*/
/*"1"&"2"為運算元*/
>1 + 2
<3

比較運算子介紹 大於小於.與等於screenflow

比較運算子以下圖示範,圖2也可以使用控制向去操作顯示結果。

圖1

圖2

比較運算子第二部分 三個等於與兩個等於 有什麼不一樣

== 相等(當兩者相等時成立)
=== 全等(當兩者相等且型別一樣時成立)

pareseInt”轉換”,將型別轉換

算數運算子 加減乘除

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
>1 + 1
<2
>2 - 1
<1
>1 * 5
<5
>1 + 1 * 5
<6
/*與一般算式相同,括號內優先*/
>(1 + 1)* 5
<10
>10 / 5
<2
/*遇到除不盡的,以IEEE二進位浮點數算術標準呈現*/
>10 / 3
<3.3333333333333335
/*可使用parseInt去除小數點,取整數*/
>parseInt(10 / 3)
<3

算數運算子 餘數與被除數

1
2
3
4
5
6
7
>5/3
<1.6666666666666667
/*但5除以3等於1餘2*/
>parseInt(5/3)
<1
>5%3
<2

邏輯運算子 AND (&&) 與 OR(||)

不要套任關於以前數學的關係 是以邏輯順序去看的
一般設定變數值,不一定要用var來開頭設定,但如果遇到設定or(或等於)時(ex.b||=5),就必須宣告var
另外 當原本宣告的值有預設值時,使用||(或等於),會依or相性,顯示原本預設值
(ex.b||=5,b||=1(X):point_right:5(O))

AND(&&)運算式裡,如果為true會循序計算下去(ex.(a-b)&&(b-1)為4),如果第一個為false,就會顯示false(與or相反)
OR(||)運算式裡,如果第一個計算出true會優先跑計算結果,如果為false才會繼續計算(ex.(a-b)||(b-1)為5:point_right:沒計算(b-1)即跑出結果。)

補充
但如果是原本宣告的預設變數或值又設了同名的變數或值,後來宣告的內容會取代原本的

邏輯運算子 NOT (!)

不等於的意思

三元運算子(條件運算子)

由三個元素組成,以”條件”、”?”、”:”,這三個元素
(條件) ? [數值/運算式(1)] : [數值/運算式(2)];
如果”條件”為true,此時回傳數值1,否則回傳數值2。拿來作條件判斷使用
EX:

1
2
3
4
5
6
7
8
9
10
11
12
13
/*以下算式並不大於等於3,答案為false*/
(1>=3)
false
/*重要!這個為原本詳細算式,並未做精簡,觀念以這個為基礎,
* 意思為假如(1>=3)不是true就是false,因此答案為false*/
if(1>=3){true}else{false}
false
/*也可以設定成這樣,意思比照上面順序*/
(1>=3)?console.log('a'):console.log('b')
b
/*或者比較多人精簡使用為這樣*/
(1>=3)?true:false
false

EX:

1
2
3
4
5
6
7
8
9
/*原算式使用if else寫的話為以下*/
if (age >= 18){
status = '成人';
}
else{
status = '小孩'
}
//使用三元運算子則為:
var status = (age >= 18) ? '成人' : '小孩';

:point_right:三元運算子可搭配參考流程控制if else

賦值運算子

於vscode撰寫,灰字部分為瀏覽器上顯示之解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<script>
console.log('賦值運算子')
var x=1;
console.log('x:',x);
/*x: 1*/

/*以下又稱複合指派,'+='最常使用,其餘先行知道*/
x +=1
//x= x + 1
console.log('x +=1 等於',x);
/*x +=1 等於 2*/


var y = 10;
y -= 2
console.log(y);
/*8*/
//y= y - 2

x *= 5;
console.log('x *=5',x);
/*x *=5 10*/

x /= 2;
console.log('x /= 2',x);
/*x /= 2 5*/
//x= x / 2


/*餘數*/
var z = 35;
z %= 10;
console.log('z %= 10',z);
/*z %= 10 5*/

/*次方用法,注意與其他不同,
* console.log括號內為重複二值*/
var a = 2;
console.log('a ** 5',a ** 5);
/*a ** 5 32*/

/*以下為連接回OR的使用*/
var b;
b ||= 10;
console.log('給預設值b',b);
/*給預設值b 10*/

var c = 555;
c ||= 10;
console.log('給預設值c',c);
/*給預設值c 555*/
//因c 已宣告,因此c仍保持為原本宣告之值
</script>

複合指派+= 自行練習範例