###### tags:前端學習筆記
前端學習筆記
===
js學習筆記 #變數 #型別 #運算
---
- [變數&型別 - 運算]()
- (一)【字串 跟 字串】的運算:
- let a = "10" + "10";
- a = 1010,(字串 + 字串),型別會是string (只有字串跟字串,無法運算相加)
- let f = "10" - "2";
- f = 2,(字串 - 字串),型別會是number
- let b = "10" * "10";
- b = 100,(字串 * 字串),型別會是number
- let g = "10" / "2";
- g = 5,(字串 / 字串),型別會是number
- =================================
- (二)【數字 跟 字串】的運算:
- let c = 10 + "10";
- c = 1010,(數字 + 字串),型別會是string (只有數字跟字串,無法運算相加)
- let e = 10 - "2";
- e = 8,(數字 - 字串),型別會是number
- let d = 10 * "10";
- d = 100,(數字 * 字串),型別會是number
- let h = 10 / "2";
- h = 5,(數字 / 字串),型別會是number
- let s = 10 * "乖乖";
- s = NaN; 型別會是number
- ==================================
- (三)【布林值 跟 null】的運算:
- 【布林】
- let i = true + true;
- i = 2,(布林 + 布林),true會變成數字1,型別會是number
- let j = false + 123;
- j = 123,(布林 + 數字),false會變成數字0,型別會是number
-
- 【null】
- let k = null + 123;
- k = 123,(null + 數字),因null是object,型別會是number
- let k = null - 123;
- k = -123,(null - 數字),因null是object,型別會是number
- let k = null * 123;
- k = 0,(null * 數字), 型別會是number
- let k = null / 123;
- k = 0,(null / 數字), 型別會是number
-
- let m = null + "123";
- m = null123,因null是object、和字串相加之後,型別會是string
- let n = null * "123";
- n = 0,(null * 字串),型別會是number
- let p = null / "123";
- n = 0,(null / 字串),型別會是number
- ==================================
- (四)
- let a = 5;
- a ** 3;
- 代表 5 * 5 * 5 = 125
- ==================================
- [!== 比較運算子]()
- 嚴格的不等於
- 例:
- 3 !== "3"; //true
- 會嚴格比較型別,如數字3不等於字串3
-
- 3 != "3"; //false
- 一般的不等於
- 如數字3會等於數字3(因為會自動轉型別)
- ==================================
- [&&(and) 、 ||(or) 、 !(not) 邏輯運算子]()
- ==================================
- [變數命名規則]()
- 1 第一個字不能是數字
- 2 變數命名的【開頭字元】可以使用:**英文、_ 下底線、$ 錢符號**
- 3 變數名稱不可使用保留字來命名
-
- 以下是合法的變數名稱:
- let userName = "Chris";
- let book123 = "Harry Potter";
- let $ = 456;
- let _ = 789;
-
- 以下是不合法的變數名稱:
- let user-name = "Chris"; // 變數名稱不能有 "-"
- let 2stBook = "Harry Potter"; // 變數名稱不能以數字開頭
- ==================================
- [記憶體空間]()
- let a = 1; (佔一個記憶體空間)
- a.length; (佔一個記憶體空間)
- 不管a有沒有賦予值,都會佔記憶體空間
- 【註】:顯性強制轉型別,也會佔一個記憶體空間,但最終沒有宣告變數存放的話,也會被當垃圾處理。
- ==================================
- [賦值運算子]()
- let a = 50;
- a += 10;(a = a + 10;)
- 最後a會等於60;
-
- [trim]()
- 可濾掉字串的左右空白
- 例:
- let eMail = " abc@gmail.com ";
- eMail.trim();
-
- [undefined]()
- 尚未被賦予值
- 例:
- let a;
-
- [字串轉數字]()
- parseInt
- 例:
- let a = "10";
- a = parseInt("20");
- a 原本是字串"10",會轉型別為數字20
-
- [數字轉字串]()
- toString()
- 例:
- let a = 50;
- a = a.toString();
- a 原本是數字50,會轉型別為字串"50"
- ==================================
- [巢狀if]()
- 例:
- if(){
if(){
xxxxxxx
}
}
==================================
[去掉字串中的所有數字]()
例:使用.replace(pattern, replacement) 字串取代
// [0-9] g代表全域
function stringClean(s){
// Function will return the cleaned string
return s.replace(/[0-9]/g, '')
}
{"metaMigratedAt":"2023-06-16T05:18:54.944Z","metaMigratedFrom":"Content","breaks":true,"description":"變數&型別","title":"前端學習筆記(1)-變數、型別","contributors":"[{\"id\":\"56553ade-3e95-49fd-b07f-d104e86033ef\",\"add\":3314,\"del\":472}]"}