JavaScript åºç¨ç¨åºæ¯ç±è®¸å¤è¯æ³æ£ç¡®çè¯å¥ç»æçãå个è¯å¥å¯ä»¥è·¨å¤è¡ã妿æ¯ä¸ªè¯å¥ç¨åå·éå¼ï¼é£ä¹å¤ä¸ªè¯å¥å¯ä»¥å¨ä¸è¡ä¸åºç°ãæ¬é¡µçå 容并䏿¯ä¸ä¸ªå ³é®åï¼èæ¯ä¸ç»å ³é®åã
è¯å¥å声æï¼æç±»å«åç±»ï¼è¥éè¦æåæ¯é¡ºåºæåçå表ï¼è¯·åé 左侧边æ ã
æ§å¶æµç¨return
æå®å½æ°è¦è¿åçå¼ã
break
ç»æ¢å½åç循ç¯ï¼switch ææ ç¾è¯å¥ï¼ä½¿ç¨åºè·³å°ç»æ¢çè¯å¥ä¹åçè¯å¥æ§è¡ã
continue
ç»æ¢å½åææ ç¾å¾ªç¯çå½åè¿ä»£ï¼ç´æ¥æ§è¡ä¸ä¸ä¸ªè¿ä»£å¾ªç¯ã
throw
æåºä¸ä¸ªç¨æ·å®ä¹çå¼å¸¸ã
if...else
妿æå®çæ¡ä»¶ä¸ºçï¼åæ§è¡ç¸å¹é çä¸ä¸ªè¯å¥ï¼è¥ä¸ºåï¼åæ§è¡å¦ä¸ä¸ªè¯å¥ã
switch
计ç®è¡¨è¾¾å¼ï¼å°åå¥ä¸è¡¨è¾¾å¼çå¼åå¹é ï¼æ§è¡ä¸è¯¥å¼ç¸å ³èçè¯å¥ã
try...catch
æ è®°ä¸ä¸ªè¯å¥åï¼å¹¶æå®è¯å¥æåºå¼å¸¸æ¶çé误å¤ç代ç ã
var
声æä¸ä¸ªåéï¼å¯åæ¶å°å ¶åå§å为ä¸ä¸ªå¼ã
let
声æä¸ä¸ªå级ä½ç¨åçæ¬å°åéï¼å¯åæ¶å°å ¶åå§å为ä¸ä¸ªå¼ã
const
声æä¸ä¸ªåªè¯»çå½å常éã
function
声æä¸ä¸ªæå®åæ°ç彿°ã
function*
çæå¨å½æ°ä½¿ç¼åè¿ä»£å¨æ´å®¹æã
async function
ä½¿ç¨æå®ç忰声æä¸ä¸ªå¼æ¥å½æ°ã
async function*
弿¥çæå¨å½æ°ä½¿ç¼å弿¥è¿ä»£å¨æ´å®¹æã
class
声æä¸ä¸ªç±»ã
do...while
å建ä¸ä¸ªå¾ªç¯æ¥æ§è¡æå®è¯å¥ï¼ç´å°æµè¯æ¡ä»¶çæ±å¼ä¸ºåãå æ§è¡è¯å¥ï¼å对æ¡ä»¶è¡¨è¾¾å¼æ±å¼ï¼æå®è¯å¥è³å°ä¼æ§è¡ä¸æ¬¡ã
for
å建ä¸ä¸ªç±ä¸ä¸ªå¯éç表达å¼ï¼ç¨æ¬å·å 裹ï¼åå·åå²ï¼ç»æç循ç¯ï¼å¹¶å¨å¾ªç¯ä½ä¸æ§è¡è¯å¥ã
for...in
æ åºéå对象ç坿䏾屿§ãè¯å¥é对æ¯ä¸ªå¯ä¸ç屿§ã
for...of
éåå¯è¿ä»£å¯¹è±¡ï¼å
æ¬ æ°ç»
ãç±»æ°ç»å¯¹è±¡ãè¿ä»£å¨åçæå¨ï¼ï¼å¯¹æ¯ä¸ªä¸åç屿§çå¼ï¼è°ç¨ä¸ä¸ªèªå®ä¹ç带æè¦æ§è¡çè¯å¥çè¿ä»£é©åã
for await...of
éå弿¥å¯è¿ä»£å¯¹è±¡ãç±»æ°ç»å¯¹è±¡ãè¿ä»£å¨åçæå¨ï¼å¯¹æ¯ä¸ªä¸åç屿§çå¼ï¼è°ç¨ä¸ä¸ªèªå®ä¹ç带æè¦æ§è¡çè¯å¥çè¿ä»£é©åã
while
å建ä¸ä¸ªæ§è¡æå®è¯å¥ç循ç¯ï¼ç´å°æµè¯æ¡ä»¶çæ±å¼ä¸ºåãå 对æ¡ä»¶è¿è¡æ±å¼ï¼åæ§è¡è¯å¥ã
空è¯å¥ï¼ç¨äºä¸å¨ JavaScript è¯æ³æææè¯å¥çå°æ¹æä¾è¯å¥ã
åè¯å¥ï¼ç¨äºå°é¶ä¸ªæå¤ä¸ªè¯å¥ç»åå¨ä¸èµ·ãåç±ä¸å¯¹è±æ¬å·æ¬èµ·æ¥ã
表达å¼è¯å¥è®¡ç®è¡¨è¾¾å¼çå¼å¹¶ä¸¢å¼å ¶ç»æãå®å 许表达å¼äº§çå¯ä½ç¨ï¼ä¾å¦æ§è¡å½æ°ææ´æ°åéã
debugger
è°ç¨å¯ç¨çè°è¯åè½ãå¦ææ²¡æè°è¯åè½å¯ç¨ï¼è¯¥è¯å¥ä¸çæã
export
ç¨æ¥å¯¼åºå½æ°ï¼ä»¥ä¾¿è¿äºå½æ°è½å¤è¢«å¯¼å ¥å°å¤é¨æ¨¡åæå ¶ä»èæ¬ä¸ã
import
ç¨æ¥å¼å ¥å¤é¨ç模åæå¦ä¸ä¸ªèæ¬ä¸å¯¼åºç彿°ã
label
æä¾å¸¦æ è¯çè¯å¥ï¼ä¸ break
æ continue
è¯å¥ä¸èµ·ä½¿ç¨ã
with
å·²å¼ç¨
æå±ä¸ä¸ªè¯å¥çä½ç¨åã
卿¬èå 容ä¸ï¼æä»¬å°æ··å两ç§ç»æï¼è¯å¥å声æãå®ä»¬æ¯ä¸¤å¥ä¸ç¸å ³çè¯æ³ã以䏿¯å£°æï¼
let
const
function
function*
async function
async function*
class
export
ï¼å¤æ³¨ï¼å®åªè½åºç°å¨æ¨¡åçé¡¶å±ï¼import
ï¼å¤æ³¨ï¼å®åªè½åºç°å¨æ¨¡åçé¡¶å±ï¼ä¸é¢ååºçé¤å£°æä¹å¤çå ¶ä»å 容齿¯è¯å¥ã
æ¯è¯âè¯å¥âåâ声æâå¨ JavaScript çæ£å¼è¯æ³ä¸å
·æç²¾ç¡®çå«ä¹ï¼è¿ä¼å½±åå®ä»¬å¨ä»£ç ä¸çä½ç½®ãä¾å¦ï¼å¨å¤§å¤æ°æ§å¶æµç¨ç»æä¸ï¼å
¶ä¸»ä½åªæ¥åè¯å¥ââå¦ if...else
çä¸¤ä¸ªåæ¯ï¼
if (condition)
statement1;
else
statement2;
å¦æä½¿ç¨å£°æè䏿¯è¯å¥ï¼åä¼äº§çè¯æ³é误ãä¾å¦ï¼let
声æä¸æ¯è¯å¥ï¼æä»¥ä¸è½å°å
¶ç¨ä½ if
è¯å¥ç主ä½ã
if (condition)
let i = 0; // SyntaxError: Lexical declaration cannot appear in a single-statement context
å¦ä¸æ¹é¢ï¼var
æ¯ä¸ä¸ªè¯å¥ï¼æä»¥ä½ å¯ä»¥å°å
¶åç¬ç¨ä½ if
主ä½ã
if (condition)
var i = 0;
ä½ å¯ä»¥å°å£°æçä½âç»å®æ è¯ç¬¦å°å¼âçè¿ç¨ï¼èè¯å¥åæ¯âæ§è¡æä½âçè¿ç¨ãvar
è¯å¥çç¹æ®æ§å¨äºå®ä¸éµå¾ªæ£å¸¸çè¯æ³ä½ç¨åè§åï¼è¿å¯è½ä¼äº§çå¯ä½ç¨ââä¾å¦ï¼å建å
¨å±åéãä¿®æ¹å·²åå¨ç var
å®ä¹çåéãå®ä¹å¯å¨å
¶åä¹å¤å¯è§çåéï¼è¿æ¯å 为 var
å®ä¹çåé并䏿¯åä½ç¨åçï¼ã
å¨å¦ä¸ä¸ªä¾åä¸ï¼æ ç¾åªè½éå å°è¯å¥ä¸ã
label: const a = 1; // SyntaxError: Lexical declaration cannot appear in a single-statement context
夿³¨ï¼ æä¸ç§éçè¯æ³å è®¸å½æ°å£°æå ·ææ ç¾ï¼ä½å®åªæ¯ä¸ºäºä¸ web ç°å®å ¼å®¹èè¿è¡äºæ ååã
为äºè§£å³è¿ä¸ªé®é¢ï¼ä½ å¯ä»¥å°å£°ææ¬å¨å¤§æ¬å·ä¸ââè¿ä½¿å ¶æä¸ºåè¯å¥çä¸é¨åã
label: {
const a = 1;
}
if (condition) {
let i = 0;
}
æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4