JSCHEATSHEET
更多來源:https://developer.mozilla.org/id/docs/web/javascript/a_re-introduction_to_javascript
數據類型
編號:( 15位數字)
- 沒有小數的數字:10,123456,3000
- 十進制數字:3.14、0.5、100.00
- 指數:123E5 // 12300000,123E-5 // 0.00123
- 負數:-0.134,-2,-100.00
- 八進制號(基數8)
- 十六進制數字(基礎16)
- 特殊數字: - 恩,南
操作員
- Unary(需要1個操作數)a。 typeof號碼,字符串,布爾值
- 二進制(需要2個操作數)a。算術: +, - ,_, /,%(模量)優先操作員:kurung,kali,divide,add,sill,更少。 b。分配:=, +=, - =,_ =, /=,%= c。比較(比較):==,! =,===,! ==,>,> =,<,<,<=D。邏輯:&&,||,! e。字符串:暨 +
- 三元(需要3個操作數)a。有條件(條件)?是:錯誤(x%2 == 0)? “偶”:“奇數”
字符串逃脫字符
- 0 = null
- '='
- “ =”
- =
- n =新線
- t = tab
- b Backpace
- uxxxx = unicode
多變的
聲明:將變量註冊到適當的範圍中。
初始化:為變量提供內存。
分配:將特定值確定為變量。
可變要求:
- 沒有空間。
- 駱駝。
- 不是從數字開始。
- 請勿使用關鍵字和保留單詞。
- 可變範圍:本地和全局。
var,&&const
重構:將代碼更改為更好而不更改其功能的過程。
Alasan:
- Readability
- DRY, dont repeat yourself
- Testability
- Performance
- Maintainability
控制流
重複(循環)
而a。 while(條件){action}; b。 wirs的初始值(終止條件){action;增量/減少; }
對於(初始值;終止條件;增量/減少){action; }
對於(字符串,數組,參數,打字車,映射,set,用戶定義的迭代))const name ='rama';對於(名稱的const n){console.log(n); }
對於(從對象枚舉 /屬性)const MHS = {name:'rama',年齡:29,電子郵件:'[email protected]',},}; for(m在MHS中){console.log(mhs [m]); }
做一段時間
選擇(選擇)
- 如果(條件){行動1; } else {動作2; }
- 否則如果(條件1){行動1; } else if(條件2){行動2; } else if(條件n){action n; } else {默認操作; }
- 開關開關(表達式){情況“值1”:操作1; [break;]案例“值2”:操作2; [break;]案例“ value n”:動作n; [break;]默認:默認操作[break;]}
功能
範圍
- 全局 /窗口範圍讓A = 1; console.log(a);
- 函數範圍函數測試(){讓B = 2; } 測試 (); console.log(b);
- 塊範圍函數測試(){讓C = 3; console.log(c); } 測試 ();
遞歸:稱自己的功能。
執行:
- 更換循環
- 斐波那契系列
- 搜索和搜索數據列表列表和樹示例:階段函數(n){if(n === 0)返回1;返回n *階乘(n -1); }
數據結構
情境
- 全局範圍var name中的創建階段=未定義的名稱函數= fn(),這是其函數本身。
- 執行階段函數使本地執行上下文
關閉
- 是功能和詞彙範圍的組合。
- 即使已經完成了父範圍,它也可以訪問父範圍。示例:函數名稱功能(param1){返回namalocalfunction(param2){function hody}}聲明名稱variable = namafunction(gright1); namevariable(gright2);
箭頭功能
- 另一種比函數表達更簡潔的形式。示例:聲明標識符=(parameterList opt)=> {function body}示例:讓數字=(param1,param2)=> {function body}; //隱式返回
- 在箭頭功能箭頭函數中,這不能應用於此。示例:聲明nameBject = function(param1){this.prperty1 = string; this.property2 =()=> {function body}; }聲明名稱variable = new nameBject();
高階功能
在其他函數中運行的功能(在參數 /返回值中)。 JavaScript將功能視為對象。為什麼:抽象,這是為了簡化程序,因為程序越大,複雜性越高,程序員就越混亂。
- array.pototype.map()
- array.potype.filter()
- array.potype.reduce()
字面模板
是一個允許其中表達式的字符串。可以使用:''; “”和 ;
有回頭( )可以:
- 單線線字符串:
string text - 多行字符串:
string text 1 string text 2 string text 3 - 嵌入式表達式:
string text ${expression} string text - HTML碎片
- 表達插值
- 標記模板:
- 逃脫 /消毒HTML標籤
- 翻譯與國際化(I18N)
- 樣式的組件
破壞作業
在JS上的表達,這使我們能夠將Array /屬性博士博士對象的價值拆除為單獨的變量。
- 陣列const try = ['一個','兩個','三']; const [a,b,c] = try;
- 對象const MHS = {名稱:'齋月',年齡:25,電子郵件:'[email protected]',}; const {name,age,email} = mhs;
- 功能
傳播操作員
將迭代分解為單個元素的操作員。
休息參數
用無限的jumalh將函數中的參數表示為數組。
同步與異步
- 單線程與多線程環境執行任務
- 阻止與非阻滯Ngoding技術(與輸入輸出相關)
- 同步與異步Ngoding工程(與HTTP請求有關)
- 並發與並行環境執行任務任務(Instra,硬件和虛擬化相關)
打回來
該函數在另一個函數中以參數發送。
示例:函數名稱功能(namacallback){name valis的聲明= value;回調(名稱); } nameFunction(((nameVar)=> {console.log(execution);});
承諾
代表將來異步事件成功 /失敗的對象。承諾(滿足 /拒絕 /待處理)。使用回調=> action(resolve => then / recond => catch / perdend =>最後)。
示例:名稱聲明var1 = value; const nameVar2 = new Promise((resolve,refform)=> {if(namevar1){resolve(value);} else {refork(value(value);}}); namesVar2 .that((wendmens)=> console.log(execution)).catch(((wendmess)=> console.log(execution));
Ajax&Fetch
Fetch是一種API JS的方法,可以從網絡中獲取資源並在有可用響應時返回完整的承諾(滿足)。符號:獲取(資源,初始化);
- 資源:URL /請求對象(源請求的表示)。
- init:對象請求中的其他配置(示例:獲取,發布,方法,標題,緩存等)
- 響應:以承諾的形式(屬性和方法)的Fetch博士的結果。
異步和等待
- 一個可行的函數(通過事件循環),
- 產生(隱性)的承諾作為回報值,
- 但是使用同步寫作(標準)編寫代碼的方式。
異步函數可以在其中具有等待關鍵字,以便在等待承諾完成(解決)時暫時停止其函數的執行。
DOM(文檔對像模型):文檔中HTML元素的表示形式成為對象。存儲到DOM樹中。
DOM福利:
作為代表Web文檔的基於對象的編程接口。
DOM使網頁的所有組件都可以訪問和操縱。
組件:HTML元素,屬性,文本等。
DOM樹
- Nodelist:包含任何節點的集合。
- HTMLCollection:包含HTML元素並實時的集合。
等級制度:
- 根節點(文檔):是DOM中所有其他節點的來源的節點。
- 父節點:在另一個節點上方一個級別的節點。例如:身體是父母H1博士,P,Div&A。
- 子節點:一個級別以下一個節點的節點。例如:H1是孩子博士。
節點類型/節點:
- 元素
- 屬性
- 文字
- CDATA部分
- 實體參考
- 實體
- 處理指令
- 評論
- 文件
- 文檔類型
- 文檔片段
- 符號
DOM選擇
- 喜歡在HTML中使用元素:
- getrementById()=產生元素。
- getElementsByTagName()=生產HTMLCollection。
- getElementsByClassName()=產生HTMLCollection。
- 就像在CSS上戴選擇器一樣:
- querysector()=產生元素。
- querySectorAll()=產生結節性。
DOM操縱
- 元素操縱
- element.innerhtml =更改所選元素的內容。
- 元素。 =更改所選元素的樣式。
- element.getAttribute()=知道屬性的內容。
- element.setTtribute()=添加屬性。
- element.removeatTribute()=刪除屬性。
- element.ClassList:
- add()=添加類。
- remove()=刪除類。
- toggle()=添加類(如果沒有),請刪除。
- item()=用索引檢查類。
- contains()=檢查所討論的類。
- 替換()=更改類。
- 節點操縱
- document.createelement()
- document.createTextNode()
- node.ppendchild()
- node.Intertbefore()
- parentnode.removechild()
- parentnode.replacechild()
DOM事件
- 事件處理程序=只能運行最後一個命令。
- 內聯HTML屬性
- 元素方法開啟
- AddVentListener()=可以運行多次。
DOM遍歷
- parentnode =結果節點。
- parentEllement =元素的結果。
- sextsibling =結果節點。
- NextElementsibling =元素的結果。
- adcefibling =節點結果。
- 先前的elementsibling =元素的結果。
默認防止
- 為防止默認操作,請使用方法:event.preventdefault();
冒泡事件
- 事件運行後,它將在孩子之前在父母中運行事件。使用event.stoppropagate();