# js筆記 Symbol 是一種特殊的、不可變的資料型別,可以作為物件屬性的識別符號使用,表示獨一無二的值。 - Symbol() 是一個函數,不是 constructor,你不能 new 它 - Symbol 值透過 Symbol() 函數來生成: ```bash= let s1 = Symbol(); # "symbol" typeof s1; let s2 = Symbol(); # false s1 === s2; ``` ## 迴圈 ### 1. do while 迴圈 循环至少执行一次,即便条件为 false,因为代码块是在条件语句判断前执行: ```bash= var text = "" var i = 0; do { text += "<br>数字为 " + i; i++; } while (i < 5); document.getElementById("demo").innerHTML = text; ``` ### 2. while 迴圈語法 當 condition 為 true 時,則重覆執行 while 區塊內的語句, 直至 condition 變 false。 ```bash= while (condition) { // statements } ``` ### 3. for 迴圈 - 需要以程式碼執行次數作為迴圈的條件。 ```bash= for(var i=0 ; i < 3 ; i++){ console.log(i) } ``` ## 判斷式 ### 1. if...else ```bash= if(條件一){ 如果條件一成立,就執行選項A; } else if (條件二){ 如果條件一不成立但條件成立,就執行選項B; } else{ 如果條件一跟二都不成立,就執行選項C; } ``` ### 2. switch ```bash= switch(參數){ case 條件一 : 參數與條件一符合,執行相關的程式碼; break; // 每個 case: 後方都會補上 break; 來阻止已完成的區塊在後方繼續執行 case 條件二 : 參數與條件二符合,執行相關的程式碼; break; default: 如果沒有任何一個 case: 符合參數,就執行相關的程式碼; break; } ``` ## Function.prototype call apply bind ## Math物件 Math.PI- 圓周率 Math.round()- 四捨五入 Math.pow()- n 次方 Math.sqrt()- 開根號 Math.abs()- 絕對值 Math.ceil()- 無條件進位 Math.floor()- 無條件捨去 Math.sin() Math.cos() Math.min() and Math.max()- 最大值最小值 Math.random()- 隨機數字 ## 取得文字內容 innerText 會過濾掉多餘的空白 textContent 會保留多餘的空白 innerHTML 會連 html 標籤也取得 ## DOM 尋訪 parentNode- 往上找 childNodes[nodenumber]- 往下找 firstChild- 找到第一個 lastChild- 找到最後一個 nextSibling- 往後一個 previousSibling- 往前一個 ## 新增、修改、刪除 DOM 節點 [重新認識 JavaScript: Day 13 DOM Node 的建立、刪除與修改](https://ithelp.ithome.com.tw/articles/10191867) ## Dom0 級與 Dom2 級的差別???