JavaScript基礎複習(2)

Lucy’s cornerstone
狐狸的葡萄酒
Published in
6 min readOct 14, 2020
Photo by Jeswin Thomas on Unsplash

什麼是運算子(operator)?

運算子可以計算值,並得出最後的結果。

分成:

  • 算術運算子

例如加減乘除、以及其他功能(直接打在javascript面板即可)

2+2  //44-2  //22*2  //48/2  //4取餘數: 
8%2 //0
加1:
X=2
X++ //3
減1:
X=2
X-- //1
指數:
2**4 //16
  • 賦值運算子
普通的用法:x=2 y=3x+=y  ==> x+y
x-=y ==> x-y
x*=y ==> x*y
x/=y ==> x/y
x%=y ==> x%y
  • 比較運算子

“true” or ”false”,即為布林值(boolean)

1. 寬鬆的等於(==),不會檢查資料型別,最好少用
x==y 1=="1" ==> True
2. 嚴格地等於(===),會檢查資料型別,請用這個!x===y 1==="1" ==> False(因為一個是數字,一個是文字)3. 寬鬆的不等於(!=),同樣不會檢查資料型別x==y 1!="1" ==> False4. 嚴格地不等於(!==),會檢查資料型別,請用這個!x!==y 1!=="1" ==> True5. 大於(>)
x>y 4>3 ==>true
2>3 ==>false
6. 小於(<)
x<y 4<5 ==>true
4<3 ==>false
7. 大於等於(>=)x>=y 4>=4 ==>true8. 小於等於(<=)
x<=y 5<=y ==>true
  • 邏輯運算子
1. 兩邊都是true,回傳才true(&&) true&&true ==>true
true&&false ==>false
2. 其中一邊為true,回傳就是true(||) true||true ==> true
true||false ==> true
3. 將值轉為相反的值
!true=false
!false=true
  • 當一大堆式子堆在一起,想標示處理的優先順序時:

請善用( )分開式子。例如:

(x<=18)||(x>=65)

額外補充 1:

如果想表示遞增遞減,有以下兩種方式:

1. X++:寫在console.log中,會回傳遞增前的值

2. ++X:寫在console.log中,會回傳遞增後的值

額外補充 2:

記得,如果要嵌入變數(${變數}),就要用 template literal(就是用``)標起來;如要用雙引號" "或單引號' ',那需要分割字串,很麻煩。例如:

let questName="James"cocsole.log(`Hello, ${guestName}`)等於
console.log("Hello,"+guestName)

甚麼是陣列?

將資料運用index來進行資料排列,資料會放入[ ]中;資料可以是字串、數字或是物件。第一個序號絕對是0,接下來才是1,2,3…

每個資料都會有一個序號,因此要叫出資料的時候,直接呼叫變數[第幾個]就好,不用特地為每個變數取名字。例如:

let names=["Lucy","James","Hook","Dan"]如果想取出Lucy
則console.log(names[0]) ==> Lucy

如果想要增加陣列元素,用+=不是一個很好的方法。

let names=["Lucy","James","Hook","Dan"]
names+=["jason","Roger"]
console.log(names)會變成
==> Lucy,James,Hook,DanJason,Roger
新舊交接處會黏在一起,這樣的現象叫做 concatenation,當加上的內容不是數字,而是字串,系統會預設將兩個字串黏在一起。

所以,我們用.push( )來增加陣列。

公式:原陣列名稱.push(想加入的內容)

let names=["Lucy","James","Hook","Dan"]
names.push("jason","Roger")
console.log(names)==>
[ 'Lucy', 'James', 'Hook', 'Dan', 'Jason', 'Roger' ]

更接近+=的方法:.concat,可以用原始的方式增加陣列,但是缺點是原先的陣列不會受到影響,又要再命名一個新的陣列。

公式:原陣列名稱.concat([想加入的內容])

let names=["Lucy","James","Hook","Dan"]
let newName=names.concat(["jason","Roger"])
console.log(names)==>
[ 'Lucy', 'James', 'Hook', 'Dan']
console.log(newName)==>
[ 'Lucy', 'James', 'Hook', 'Dan', 'Jason', 'Roger' ]

如果想移除元素呢?

就使用.pop( )來移除最後一個陣列元素。

公式:原陣列名稱.pop( ) (括弧內空白)

let names=["Lucy","James","Hook","Dan"]
names.push("jason","Roger")
console.log(names)==>
[ 'Lucy', 'James', 'Hook', 'Dan', 'Jason', 'Roger' ]
names.pop()
console.log(names)==>
[ 'Lucy', 'James', 'Hook', 'Dan', 'Jason']

其他的陣列操作模式

  • unshift:在前方加入陣列元素

公式:原陣列名稱.unshift(加入的元素)

let names=["Lucy","James","Hook","Dan"]
names.unshift("lio")
console.log(names)
==>[ 'lio', 'Lucy', 'James', 'Hook', 'Dan' ]
  • shift:移除第一個元素

公式:原陣列名稱.shift( ) (括弧內空白)

let names=["Lucy","James","Hook","Dan"]
names.shift()
console.log(names)
==>[ 'James', 'Hook', 'Dan' ]
  • length:計算陣列長度

公式:原陣列名稱.length

let names=["Lucy","James","Hook","Dan"]
console.log(names.length)
==>4
  • splice:指定移除特定元素,可以一個或是多個

公式:原陣列名稱.splice(欲移除的元素index, 幾個元素)

let names=["Lucy","James","Hook","Dan"]
names.splice(3,1)
console.log(names)
==>let names=["Lucy","James","Hook"]

--

--

Lucy’s cornerstone
狐狸的葡萄酒

一位護理師,也是一位多元學習者。目前也在學習多益、股票投資,對很多東西都充滿好奇。