###### 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}]"}
Expand menu