Show tasks
JavaScript ç¼ç¨è¯è¨
ç®ä»
JavaScript ç®ä»
æåä¸è§è
代ç ç¼è¾å¨
å¼åè æ§å¶å°
JavaScript åºç¡ç¥è¯
Hello, world!
æ¾ç¤ºä¸ä¸ªæç¤ºè¯
使ç¨å¤é¨çèæ¬æ¾ç¤ºä¸ä¸ªæç¤ºè¯
代ç ç»æ
ç°ä»£æ¨¡å¼ï¼"use strict"
åé
使ç¨åé
ç»åºæ£ç¡®çåå
大åç常éï¼
æ°æ®ç±»å
å符串çåå¼å·
交äºï¼alertãprompt å confirm
å建ä¸ä¸ªç®åç页é¢
ç±»å转æ¢
åºç¡è¿ç®ç¬¦ï¼æ°å¦è¿ç®
åç½®è¿ç®ç¬¦ååç½®è¿ç®ç¬¦
èµå¼ç»æ
ç±»å转æ¢
ä¿®æ£å æ³
å¼çæ¯è¾
å¼çæ¯è¾
æ¡ä»¶åæ¯ï¼if å '?'
ifï¼å¼ä¸º 0 çå符串ï¼
JavaScript çåå
æ¾ç¤ºç¬¦å·
ä½¿ç¨ '?' éå 'if' è¯å¥
ä½¿ç¨ '?' éå 'if..else' è¯å¥
é»è¾è¿ç®ç¬¦
æè¿ç®çç»ææ¯ä»ä¹ï¼
æè¿ç®å alert çç»ææ¯ä»ä¹ï¼
䏿ä½çç»ææ¯ä»ä¹ï¼
ä¸è¿ç®è¿æ¥ç alert çç»ææ¯ä»ä¹ï¼
æè¿ç®ãä¸è¿ç®ãæè¿ç®ä¸²èçç»æ
æ£æ¥å¼æ¯å¦ä½äºèå´åºé´å
æ£æ¥å¼æ¯å¦ä½äºèå´ä¹å¤
ä¸ä¸ªå ³äº "if" çé®é¢
ç»å½æ ¡éª
空å¼åå¹¶è¿ç®ç¬¦ '??'
循ç¯ï¼while å for
æå䏿¬¡å¾ªç¯çå¼
while å¾ªç¯æ¾ç¤ºåªäºå¼ï¼
"for" å¾ªç¯æ¾ç¤ºåªäºå¼ï¼
ä½¿ç¨ for 循ç¯è¾åºå¶æ°
ç¨ "while" æ¿æ¢ "for"
éå¤è¾å ¥ï¼ç´å°æ£ç¡®ä¸ºæ¢
è¾åºç´ æ°ï¼primeï¼
"switch" è¯å¥
å° "switch" ç»æéå为 "if" ç»æ
å° "if" ç»æéå为 "switch" ç»æ
彿°
æ¯å¦éè¦ âelseâï¼
ä½¿ç¨ '?' æè '||' éå彿°
彿° min(a, b)
彿° pow(x,n)
彿°è¡¨è¾¾å¼
ç®å¤´å½æ°ï¼åºç¡ç¥è¯
ç¨ç®å¤´å½æ°éå
JavaScript ç¹æ§
代ç è´¨é
卿µè§å¨ä¸è°è¯
代ç 飿 ¼
ä¸å¥½ç飿 ¼
注é
å¿è 代ç
ä½¿ç¨ Mocha è¿è¡èªå¨åæµè¯
æµè¯ä»£ç 䏿ä»ä¹é误ï¼
Polyfill å转è¯å¨
Objectï¼å¯¹è±¡ï¼ï¼åºç¡ç¥è¯
对象
ä½ å¥½ï¼å¯¹è±¡
æ£æ¥ç©ºå¯¹è±¡
å¯¹è±¡å±æ§æ±å
å°æ°å¼å±æ§å¼é½ä¹ä»¥ 2
对象å¼ç¨åå¤å¶
åå¾åæ¶
å¯¹è±¡æ¹æ³ï¼"this"
å¨å¯¹è±¡åé¢éä¸ä½¿ç¨ "this"
å建ä¸ä¸ªè®¡ç®å¨
é¾å¼ï¼è°ç¨ï¼
æé å¨åæä½ç¬¦ "new"
ä¸¤ä¸ªå½æ° ââ ä¸ä¸ªå¯¹è±¡
å建 new Calculator
å建 new Accumulator
å¯éé¾ "?."
symbol ç±»å
对象 ââ åå§å¼è½¬æ¢
æ°æ®ç±»å
åå§ç±»åçæ¹æ³
æè½ä¸ºå符串添å ä¸ä¸ªå±æ§åï¼
æ°åç±»å
æ¥èªè®¿é®è çæ°åçæ»å
为ä»ä¹ 6.35.toFixed(1) == 6.3ï¼
éå¤ï¼ç´å°è¾å ¥çæ¯ä¸ä¸ªæ°å
ä¸ä¸ªå¶åçæ é循ç¯
ä» min å° max çéæºæ°
ä» min å° max çéæºæ´æ°
å符串
é¦åæ¯å¤§å
æ£æ¥ spam
æªæææ¬
æåè´§å¸
æ°ç»
æ°ç»è¢«æ·è´äºå?
æ°ç»æä½ã
卿°ç»ä¸ä¸æè°ç¨
è¾å ¥æ°åæ±å
æå¤§åæ°ç»
æ°ç»æ¹æ³
å° border-left-width è½¬æ¢æ borderLeftWidth
è¿æ»¤èå´
åä½ï¼in placeï¼è¿æ»¤èå´
éåºæå
å¤å¶åæåºæ°ç»
å建ä¸ä¸ªå¯æ©å±ç calculator
æ å°å° names
æ å°å°å¯¹è±¡
æå¹´é¾å¯¹ç¨æ·æåº
éæºæåæ°ç»
è·åå¹³åå¹´é¾
æ°ç»å»é
仿°ç»å建é®ï¼å¼ï¼å¯¹è±¡
Iterable objectï¼å¯è¿ä»£å¯¹è±¡ï¼
Map and Setï¼æ å°åéåï¼
è¿æ»¤æ°ç»ä¸çå¯ä¸å ç´
è¿æ»¤åè°ï¼anagramsï¼
è¿ä»£é®
WeakMap and WeakSetï¼å¼±æ å°åå¼±éåï¼
åå¨ "unread" æ è¯
ä¿åé è¯»æ¥æ
Object.keysï¼valuesï¼entries
屿§æ±å
计ç®å±æ§æ°é
è§£æèµå¼
è§£æèµå¼
æé«èªèµ
æ¥æåæ¶é´
åå»ºæ¥æ
æ¾ç¤ºæææ°
æ¬§æ´²çææè¡¨ç¤ºæ¹æ³
许å¤å¤©ä¹åæ¯åªä¸ªæå å·ï¼
ææçæåä¸å¤©ï¼
ä»å¤©è¿å»äºå¤å°ç§ï¼
è·ç¦»æå¤©è¿æå¤å°ç§ï¼
æ ¼å¼åç¸å¯¹æ¥æ
JSON æ¹æ³ï¼toJSON
å°å¯¹è±¡è½¬æ¢ä¸º JSONï¼ç¶åå转æ¢åæ¥
æé¤ååå¼ç¨
彿°è¿é¶å 容
éå½åå æ
对æ°åæ±åå°ç»å®å¼
计ç®é¶ä¹
ææ³¢é£å¥æ°
è¾åºä¸ä¸ªåé¾è¡¨
ååè¾åºåé¾è¡¨
Rest åæ°ä¸ Spread è¯æ³
åéä½ç¨åï¼éå
彿°ä¼éæ©ææ°çå 容åï¼
åªäºåéå¯ç¨å¢ï¼
Counter æ¯ç¬ç«çåï¼
Counter 对象
if å ç彿°
éå sum
åéå¯è§åï¼
éè¿å½æ°çé
æå段æåº
彿°å¤§å
èæ§ç "var"
å ¨å±å¯¹è±¡
彿°å¯¹è±¡ï¼NFE
为 counter æ·»å set å decrease æ¹æ³
ä»»ææ°éçæ¬å·æ±å
"new Function" è¯æ³
è°åº¦ï¼setTimeout å setInterval
æ¯ç§è¾åºä¸æ¬¡
setTimeout 伿¾ç¤ºä»ä¹ï¼
è£ é¥°å¨æ¨¡å¼å转åï¼call/apply
é´è°è£ 饰å¨
å»¶æ¶è£ 饰å¨
é²æè£ é¥°å¨
èæµè£ é¥°å¨
彿°ç»å®
ä½ä¸ºæ¹æ³çç»å®å½æ°
äºæ¬¡ bind
bind åç彿°å±æ§
ä¿®å¤ä¸¢å¤±äº "this" ç彿°
å彿°å¨ç»å½ä¸çåºç¨
æ·±å ¥çè§£ç®å¤´å½æ°
å¯¹è±¡å±æ§é ç½®
屿§æ å¿å屿§æè¿°ç¬¦
屿§ç getter å setter
ååï¼ç»§æ¿
ååç»§æ¿
使ç¨åå
æç´¢ç®æ³
åå¨åªéï¼
为ä»ä¹ä¸¤åªä»é¼ é½é¥±äºï¼
F.prototype
ä¿®æ¹ "prototype"
使ç¨ç¸åçæé 彿°å建ä¸ä¸ªå¯¹è±¡
åççåå
ç»å½æ°æ·»å ä¸ä¸ª "f.defer(ms)" æ¹æ³
å°è£ é¥°å¨ "defer()" æ·»å å°å½æ°
ååæ¹æ³ï¼æ²¡æ __proto__ ç对象
为 dictionary æ·»å toString æ¹æ³
è°ç¨æ¹å¼çå·®å¼
ç±»
Class åºæ¬è¯æ³
éå为 class
类继æ¿
å建å®ä¾æ¶åºé
æ©å± clock
éæå±æ§åéææ¹æ³
ç±»æ©å±èªå¯¹è±¡ï¼
ç§æçååä¿æ¤ç屿§åæ¹æ³
æ©å±å 建类
ç±»æ£æ¥ï¼"instanceof"
䏿å¥è·¯åºçç instanceof
Mixin 模å¼
é误å¤ç
é误å¤çï¼"try...catch"
ä½¿ç¨ finally è¿æ¯ç´æ¥æ¾å¨ä»£ç åé¢ï¼
èªå®ä¹ Errorï¼æ©å± Error
ç»§æ¿ SyntaxError
Promiseï¼async/await
ç®ä»ï¼åè°
Promise
ç¨ promise éæ°è§£å³ï¼
åºäº promise çå»¶æ¶
带æ promise çåå½¢å¨ç»
Promise é¾
Promiseï¼then å¯¹æ¯ catch
ä½¿ç¨ promise è¿è¡é误å¤ç
setTimeout ä¸çé误
Promise API
Promisification
微任å¡ï¼Microtaskï¼
async/await
ç¨ async/await æ¥éå
ä½¿ç¨ async/await éå "rethrow"
å¨é async 彿°ä¸è°ç¨ async 彿°
Generatorï¼é«çº§ iteration
generator
ä¼ªéæº generator
弿¥è¿ä»£å generator
模å
模å (Module) ç®ä»
导åºåå¯¼å ¥
å¨æå¯¼å ¥
æé¡¹
Proxy å Reflect
读åä¸åå¨ç屿§æ¶åºé
è®¿é® array[-1]
å¯è§å¯çï¼Observableï¼
Evalï¼æ§è¡ä»£ç å符串
Eval-计ç®å¨
æ¯éåï¼Curryingï¼
Reference Type
æ£æ¥è¯æ³
è§£é "this" çå¼
BigInt
Unicode ââ å符串å å¹
æµè§å¨ï¼ææ¡£ï¼äºä»¶ï¼æ¥å£
Document
æµè§å¨ç¯å¢ï¼è§æ ¼
DOM æ
éå DOM
DOM åèç¹
å å¼èç¹é®é¢
éæ©ææå¯¹è§åå æ ¼
æç´¢ï¼getElement*ï¼querySelector*
æç´¢å ç´
èç¹å±æ§ï¼typeï¼tag å content
计æ°å代
nodeType 䏿¯ä»ä¹ï¼
注éä¸çæ ç¾
屿¬¡ç»æä¸ç "document" å¨åªéï¼
ç¹æ§å屿§ï¼Attributes and propertiesï¼
è·åç¹æ§
å°å¤é¨é¾æ¥è®¾ä¸ºæ©è²
ä¿®æ¹ææ¡£ï¼documentï¼
createTextNode vs innerHTML vs textContent
æ¸ é¤å ç´
为ä»ä¹çä¸ "aaa"ï¼
å建ä¸ä¸ªå表
ä»å¯¹è±¡å建æ
卿 䏿¾ç¤ºå代
å建ä¸ä¸ªæ¥å
ä½¿ç¨ setInterval çå½©è²æ¶é
å° HTML æå ¥å°å表ä¸
å¯¹è¡¨æ ¼è¿è¡æåº
æ ·å¼åç±»
å建ä¸ä¸ªéç¥
å ç´ å¤§å°åæ»å¨
ç¸å¯¹äºåºé¨æ»å¨äºå¤å°ï¼
æ»å¨æ¡ç宽度æ¯å¤å°ï¼
å°å°çç½®äºåºåï¼fieldï¼ä¸å¿
CSS width ä¸ clientWidth çä¸åç¹
Window 大å°åæ»å¨
åæ
æ¥æ¾åºåççªå£åæ
å¨å ç´ ææ¾ç¤ºä¸ä¸ª note
å¨å ç´ æï¼absoluteï¼æ¾ç¤ºä¸ä¸ª note
æ note æ¾å¨å ç´ å é¨ï¼absoluteï¼
äºä»¶ç®ä»
æµè§å¨äºä»¶ç®ä»
ç¹å»éè
éèèªå·±
åªä¸ªå¤çç¨åºä¼è¿è¡ï¼
让çå¨çåºä¸ç§»å¨
å建æ»å¨èå
æ·»å å ³éæé®
è½®æå¾
åæ³¡åæè·
äºä»¶å§æ
使ç¨å§æéèæ¶æ¯
æ å½¢èå
坿åºçè¡¨æ ¼
å·¥å ·æç¤ºè¡ä¸º
æµè§å¨é»è®¤è¡ä¸º
为ä»ä¹ "return false" ä¸èµ·ä½ç¨ï¼
æè·å ç´ ä¸ç龿¥
å¾å
å建èªå®ä¹äºä»¶
UI äºä»¶
é¼ æ äºä»¶
å¯éå表
ç§»å¨é¼ æ ï¼mouseover/outï¼mouseenter/leave
æ¹è¿çå·¥å ·æç¤ºè¡ä¸º
âæºè½âå·¥å ·æç¤º
é¼ æ ææ¾äºä»¶
æ»å¨æ¡
å°è¶ 级è±éæ¾ç½®å¨è¶³çåºå¨å´
æéäºä»¶
é®çï¼keydown å keyup
æ©å±çé®
æ»å¨
æ éç页é¢
Up/down æé®
å è½½å¯è§åå¾å
表åï¼æ§ä»¶
表å屿§åæ¹æ³
å¨ select å ç´ ä¸æ·»å ä¸ä¸ªé项
èç¦ï¼focus/blur
å¯ç¼è¾ç div
ç¹å»å³å¯ç¼è¾åå æ ¼
é®çç§»å¨èé¼
äºä»¶ï¼changeï¼inputï¼cutï¼copyï¼paste
忬¾è®¡ç®å¨
表åï¼äºä»¶åæ¹æ³æäº¤
æ¨¡ææ¡è¡¨å
å è½½ææ¡£åå ¶ä»èµæº
页é¢çå½å¨æï¼DOMContentLoadedï¼loadï¼beforeunloadï¼unload
èæ¬ï¼asyncï¼defer
èµæºå è½½ï¼onloadï¼onerror
使ç¨åè°å½æ°å è½½å¾ç
æé¡¹
DOM åå¨è§å¯å¨ï¼Mutation observerï¼
éæ©ï¼Selectionï¼åèå´ï¼Rangeï¼
äºä»¶å¾ªç¯ï¼å¾®ä»»å¡åå®ä»»å¡
䏿¹è¿æ®µä»£ç çè¾åºæ¯ä»ä¹ï¼
å ¶ä»æç«
Frame å window
å¼¹çªå window çæ¹æ³
è·¨çªå£éä¿¡
ç¹å»å«ææ»å»
äºè¿å¶æ°æ®ï¼æä»¶
ArrayBufferï¼äºè¿å¶æ°ç»
æ¼æ¥ç±»ååæ°ç»
TextDecoder å TextEncoder
Blob
File å FileReader
ç½ç»è¯·æ±
Fetch
ä» GitHub fetch ç¨æ·ä¿¡æ¯
FormData
Fetchï¼ä¸è½½è¿åº¦
Fetchï¼ä¸æ¢ï¼Abortï¼
Fetchï¼è·¨æºè¯·æ±
æä»¬ä¸ºä»ä¹éè¦æºï¼Originï¼ï¼
Fetch API
URL 对象
XMLHttpRequest
坿¢å¤çæä»¶ä¸ä¼
é¿è½®è¯¢ï¼Long pollingï¼
WebSocket
Server Sent Events
卿µè§å¨ä¸å卿°æ®
Cookieï¼document.cookie
LocalStorageï¼sessionStorage
èªå¨ä¿å表ååæ®µ
IndexedDB
å¨ç»
è´å¡å°æ²çº¿
CSS å¨ç»
è®©é£æºå¨èµ·æ¥ï¼CSSï¼
ä¸ºé£æºçæå¨ç»ï¼CSSï¼
ååå¨ç»
带åè°çååå¨ç»
JavaScript å¨ç»
为弹跳çç设置å¨ç»
设置å¨ç»ä½¿çåå³ç§»å¨
Web components
仿ç轨éçé«åº¦è®²èµ·
Custom elements
计æ¶å¨å ç´ å®ä¾
å½±å DOMï¼Shadow DOMï¼
模æ¿å ç´
Shadow DOM ææ§½ï¼ç»æ
ç» Shadow DOM æ·»å æ ·å¼
Shadow DOM åäºä»¶ï¼eventsï¼
æ£å表达å¼
模å¼ï¼Patternsï¼å修饰符ï¼flagsï¼
å符类
Unicodeï¼ä¿®é¥°ç¬¦ "u" åç±» \p{...}
éç¹ï¼å符串å¼å§ ^ 快尾 $
æ£åè¡¨è¾¾å¼ ^$
éç¹ ^ $ çå¤è¡æ¨¡å¼ï¼ä¿®é¥°ç¬¦ "m"
è¯è¾¹çï¼\b
æ¥æ¾æ¶é´
转ä¹ï¼ç¹æ®å符
éååèå´ [...]
Java[^script]
æ¾å° hh:mm æè hh-mm æ ¼å¼çæ¶é´
éè¯ +, *, ? å {n}
å¦ä½æ¾å°çç¥å· "..."ï¼
é对 HTML é¢è²çæ£å表达å¼
贪婪éè¯åæ°æ§éè¯
/d+? d+?/ çå¹é 项
æ¥æ¾ HTML 注é
å¯»æ¾ HTML æ ç¾
æè·ç»
æ£æ¥ MAC å°å
æ¾åºå½¢å¦ #abc æ #abcdef çé¢è²å¼
æ¾åºæææ°å
è§£æè¡¨è¾¾å¼
模å¼ä¸çååå¼ç¨ï¼\N å \k<name>
éæ© (OR) |
æ¥æ¾ç¼ç¨è¯è¨
æ¥æ¾ bbtag 对
æ¥æ¾å¼ç¨çå符串
æ¥æ¾å®æ´æ ç¾
åç»æè¨ä¸åç»æè¨
æ¾å°éè´æ´æ°
卿 ç¾å¤´åæå ¥
ç¾é¾æ§å溯
ç²æ§ä¿®é¥°ç¬¦ "y"ï¼å¨ä½ç½®å¤æç´¢
æ£å表达å¼ååç¬¦ä¸²çæ¹æ³