JavaScript基礎複習(2)
什麼是運算子(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" ==> True2. 嚴格地等於(===),會檢查資料型別,請用這個!x===y 1==="1" ==> False(因為一個是數字,一個是文字)3. 寬鬆的不等於(!=),同樣不會檢查資料型別x==y 1!="1" ==> False4. 嚴格地不等於(!==),會檢查資料型別,請用這個!x!==y 1!=="1" ==> True5. 大於(>)
x>y 4>3 ==>true
2>3 ==>false6. 小於(<)
x<y 4<5 ==>true
4<3 ==>false7. 大於等於(>=)x>=y 4>=4 ==>true8. 小於等於(<=)
x<=y 5<=y ==>true
- 邏輯運算子
1. 兩邊都是true,回傳才true(&&) true&&true ==>true
true&&false ==>false2. 其中一邊為true,回傳就是true(||) true||true ==> true
true||false ==> true3. 將值轉為相反的值
!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"]