让æä»¬æ¥çç JavaScript æä»ä¹ç¹å«ä¹å¤ï¼æä»¬å¯ä»¥ç¨å®å®ç°ä»ä¹ï¼ä»¥ååªäºå ¶ä»ææ¯å¯ä»¥ä¸å ¶æé 产çå¥å¦çææã
ä»ä¹æ¯ JavaScriptï¼
JavaScript æå被å建çç®çæ¯â使ç½é¡µæ´çå¨âã
è¿ç§ç¼ç¨è¯è¨ååºæ¥çç¨åºè¢«ç§°ä¸º èæ¬ãå®ä»¬å¯ä»¥è¢«ç´æ¥åå¨ç½é¡µç HTML ä¸ï¼å¨é¡µé¢å è½½çæ¶åèªå¨æ§è¡ã
èæ¬è¢«ä»¥çº¯ææ¬ç形弿ä¾åæ§è¡ãå®ä»¬ä¸éè¦ç¹æ®çå夿ç¼è¯å³å¯è¿è¡ã
è¿æ¹é¢ï¼JavaScript å Java æå¾å¤§çåºå«ã
JavaScript å¨åè¯ççæ¶åï¼å®çååå« âLiveScriptâã使¯å ä¸ºå½æ¶ Java 徿µè¡ï¼æä»¥å³å®å°ä¸ç§æ°è¯è¨å®ä½ä¸º Java çâå¼å¼â伿å©äºå®çæµè¡ã
éç JavaScript çåå±ï¼å®å·²ç»æä¸ºäºä¸é¨å®å ¨ç¬ç«çè¯è¨ï¼å¹¶ä¸ä¹æ¥æäºèªå·±çè¯è¨è§è ECMAScriptãç°å¨ï¼å®å Java ä¹é´æ²¡æä»»ä½å ³ç³»ã
å¦ä»ï¼JavaScript ä¸ä» å¯ä»¥å¨æµè§å¨ä¸æ§è¡ï¼ä¹å¯ä»¥å¨æå¡ç«¯æ§è¡ï¼çè³å¯ä»¥å¨ä»»ææè½½äº JavaScript 弿 ç设å¤ä¸æ§è¡ã
æµè§å¨ä¸åµå ¥äº JavaScript å¼æï¼ææ¶ä¹ç§°ä½âJavaScript èææºâã
ä¸åç弿æä¸åçâ代å·âï¼ä¾å¦ï¼
- V8 ââ ChromeãOpera å Edge ä¸ç JavaScript 弿ã
- SpiderMonkey ââ Firefox ä¸ç JavaScript 弿ã
- â¦â¦è¿æå ¶ä»ä¸äºä»£å·ï¼å âChakraâ ç¨äº IEï¼âJavaScriptCoreâãâNitroâ å âSquirrelFishâ ç¨äº Safariï¼ççã
ä¸é¢è¿äºæ¯è¯å¾å®¹æè®°ä½ï¼å 为å®ä»¬ç»å¸¸åºç°å¨å¼åè çæç« ä¸ãæä»¬ä¹ä¼ç¨å°è¿äºæ¯è¯ãä¾å¦ï¼å¦æâV8 æ¯ææä¸ªåè½âï¼é£ä¹æä»¬å¯ä»¥è®¤ä¸ºè¿ä¸ªåè½å¤§æ¦è½å¨ ChromeãOpera å Edge 䏿£å¸¸è¿è¡ã
弿å¾å¤æï¼ä½æ¯åºæ¬åçå¾ç®åã
- 弿ï¼å¦ææ¯æµè§å¨ï¼åå¼æè¢«åµå ¥å¨å ¶ä¸ï¼è¯»åï¼âè§£æâï¼èæ¬ã
- ç¶åï¼å¼æå°èæ¬è½¬åï¼âç¼è¯âï¼ä¸ºæºå¨è¯è¨ã
- ç¶åï¼æºå¨ä»£ç å¿«éå°æ§è¡ã
弿ä¼å¯¹æµç¨ä¸çæ¯ä¸ªé¶æ®µé½è¿è¡ä¼åãå®çè³å¯ä»¥å¨ç¼è¯çèæ¬è¿è¡æ¶çè§å®ï¼åææµç»è¯¥èæ¬çæ°æ®ï¼å¹¶æ ¹æ®è·å¾çä¿¡æ¯è¿ä¸æ¥ä¼åæºå¨ä»£ç ã
æµè§å¨ä¸ç JavaScript è½åä»ä¹ï¼
ç°ä»£ç JavaScript æ¯ä¸ç§âå®å ¨çâç¼ç¨è¯è¨ãå®ä¸æä¾å¯¹å åæ CPU çåºå±è®¿é®ï¼å ä¸ºå®æåæ¯ä¸ºæµè§å¨å建çï¼ä¸éè¦è¿äºåè½ã
JavaScript çè½åå¾å¤§ç¨åº¦ä¸åå³äºå®è¿è¡çç¯å¢ãä¾å¦ï¼Node.js æ¯æå 许 JavaScript 读å/åå ¥ä»»ææä»¶ï¼æ§è¡ç½ç»è¯·æ±çç彿°ã
æµè§å¨ä¸ç JavaScript å¯ä»¥åä¸ç½é¡µæä½ãç¨æ·äº¤äºå Web æå¡å¨ç¸å ³çææäºæ ã
ä¾å¦ï¼æµè§å¨ä¸ç JavaScript å¯ä»¥åä¸é¢è¿äºäºï¼
- å¨ç½é¡µä¸æ·»å æ°ç HTMLï¼ä¿®æ¹ç½é¡µå·²æå 容åç½é¡µçæ ·å¼ã
- ååºç¨æ·çè¡ä¸ºï¼ååºé¼ æ çç¹å»ï¼æéçç§»å¨ï¼æé®çæå¨ã
- åè¿ç¨æå¡å¨åéç½ç»è¯·æ±ï¼ä¸è½½åä¸ä¼ æä»¶ï¼æè°ç AJAX å COMET ææ¯ï¼ã
- è·åæè®¾ç½® cookieï¼å访é®è æåºé®é¢æåéæ¶æ¯ã
- è®°ä½å®¢æ·ç«¯çæ°æ®ï¼âæ¬å°åå¨âï¼ã
æµè§å¨ä¸ç JavaScript ä¸è½åä»ä¹ï¼
为äºç¨æ·çï¼ä¿¡æ¯ï¼å®å ¨ï¼å¨æµè§å¨ä¸ç JavaScript çè½åæ¯åéçãç®çæ¯é²æ¢æ¶æç½é¡µè·åç¨æ·ç§äººä¿¡æ¯ææå®³ç¨æ·æ°æ®ã
æ¤ç±»éå¶çä¾åå æ¬ï¼
-
ç½é¡µä¸ç JavaScript ä¸è½è¯»ãåãå¤å¶åæ§è¡ç¡¬çä¸çä»»ææä»¶ã宿²¡æç´æ¥è®¿é®æä½ç³»ç»çåè½ã
ç°ä»£æµè§å¨å 许 JavaScript åä¸äºæä»¶ç¸å ³çæä½ï¼ä½æ¯è¿ä¸ªæä½æ¯åå°éå¶çãä» å½ç¨æ·ååºç¹å®çè¡ä¸ºï¼JavaScript æè½æä½è¿ä¸ªæä»¶ãä¾å¦ï¼ç¨æ·ææä»¶âææ¾âå°æµè§å¨ä¸ï¼æè éè¿
<input>æ ç¾éæ©äºæä»¶ãæå¾å¤ä¸ç¸æº/麦å é£åå ¶å®è®¾å¤è¿è¡äº¤äºçæ¹å¼ï¼ä½æ¯è¿äºé½éè¦è·å¾ç¨æ·çæç¡®è®¸å¯ãå æ¤ï¼å¯ç¨äº JavaScript çç½é¡µåºè¯¥ä¸ä¼å·å·å°å¯å¨ç½ç»æå头è§å¯ä½ ï¼å¹¶æä½ çä¿¡æ¯åéå° ç¾å½å½å®¶å®å ¨å±ã
-
ä¸åçæ ç¾é¡µ/çªå£ä¹é´é常äºä¸äºè§£ãææ¶åï¼ä¹ä¼æä¸äºèç³»ï¼ä¾å¦ä¸ä¸ªæ ç¾é¡µéè¿ JavaScript æå¼çå¦å¤ä¸ä¸ªæ ç¾é¡µãä½å³ä½¿å¨è¿ç§æ åµä¸ï¼å¦æä¸¤ä¸ªæ ç¾é¡µæå¼ç䏿¯åä¸ä¸ªç½ç«ï¼ååãåè®®æè 端å£ä»»ä¸ä¸ç¸åçç½ç«ï¼ï¼å®ä»¬é½ä¸è½ç¸äºéä¿¡ã
è¿å°±æ¯æè°çâåæºçç¥âã为äºè§£å³âåæºçç¥âé®é¢ï¼ä¸¤ä¸ªæ ç¾é¡µå¿ é¡» é½ å å«ä¸äºå¤çè¿ä¸ªé®é¢çç¹å®ç JavaScript 代ç ï¼å¹¶åå è®¸æ°æ®äº¤æ¢ãæ¬æç¨ä¼è®²å°è¿é¨åç¸å ³çç¥è¯ã
è¿ä¸ªéå¶ä¹æ¯ä¸ºäºç¨æ·çä¿¡æ¯å®å ¨ãä¾å¦ï¼ç¨æ·æå¼ç
http://anysite.comç½é¡µå¿ é¡»ä¸è½è®¿é®http://gmail.comï¼å¦å¤ä¸ä¸ªæ ç¾é¡µæå¼çç½é¡µï¼ä¹ä¸è½ä»é£éçªåä¿¡æ¯ã -
JavaScript å¯ä»¥è½»æ¾å°éè¿äºèç½ä¸å½å页颿å¨çæå¡å¨è¿è¡éä¿¡ã使¯ä»å ¶ä»ç½ç«/åçæå¡å¨ä¸æ¥æ¶æ°æ®çè½å被åå¼±äºã尽管å¯ä»¥ï¼ä½æ¯éè¦æ¥èªè¿ç¨æå¡å¨çæç¡®åè®®ï¼å¨ HTTP header ä¸ï¼ãè¿ä¹æ¯ä¸ºäºç¨æ·çä¿¡æ¯å®å ¨ã
妿卿µè§å¨ç¯å¢å¤ï¼ä¾å¦å¨æå¡å¨ä¸ï¼ä½¿ç¨ JavaScriptï¼åä¸å卿¤ç±»éå¶ãç°ä»£æµè§å¨è¿å 许å®è£ å¯è½ä¼è¦æ±æ©å±æéçæä»¶/æ©å±ã
æ¯ä»ä¹ä½¿å¾ JavaScript ä¸ä¼ä¸åï¼
è³å°æ 3 ä»¶äºå¼å¾ä¸æï¼
- ä¸ HTML/CSS å®å ¨éæã
- ç®åçäºï¼ç®åå°å®æã
- 被ææçä¸»æµæµè§å¨æ¯æï¼å¹¶ä¸é»è®¤å¼å¯ã
JavaScript æ¯å°è¿ä¸ä»¶äºç»åå¨ä¸èµ·çå¯ä¸çæµè§å¨ææ¯ã
è¿å°±æ¯ä¸ºä»ä¹ JavaScript ä¸ä¼ä¸åãè¿ä¹æ¯ä¸ºä»ä¹å®æ¯ç¨äºå建æµè§å¨çé¢çä½¿ç¨æå¹¿æ³çå·¥å ·ã
æ¤å¤ï¼JavaScript è¿å¯ç¨äºå建æå¡å¨åç§»å¨ç«¯åºç¨ç¨åºçã
JavaScript âä¸å±âè¯è¨
ä¸åç人æ³è¦ä¸åçåè½ãJavaScript çè¯æ³ä¹ä¸è½æ»¡è¶³ææäººçéæ±ã
è¿æ¯æ£å¸¸çï¼å 为æ¯ä¸ªäººç项ç®åéæ±é½ä¸ä¸æ ·ã
å æ¤ï¼æè¿åºç°äºè®¸å¤æ°è¯è¨ï¼è¿äºè¯è¨å¨æµè§å¨ä¸æ§è¡ä¹åï¼é½ä¼è¢« ç¼è¯ï¼è½¬åï¼æ JavaScriptã
ç°ä»£åçå·¥å ·ä½¿å¾ç¼è¯é度é常快ä¸éæï¼å®é ä¸å 许å¼åè 使ç¨å¦ä¸ç§è¯è¨ç¼å代ç å¹¶ä¼å°å ¶âèªå¨è½¬æ¢â为 JavaScriptã
æ¤ç±»è¯è¨çç¤ºä¾æï¼
- CoffeeScript æ¯ JavaScript çä¸ç§è¯æ³ç³ãå®å¼å ¥äºæ´å ç®ççè¯æ³ï¼ä½¿æä»¬å¯ä»¥ç¼åæ´æ¸ æ°ç®æ´ç代ç ãé常ï¼Ruby å¼åè 忬¢å®ã
- TypeScript 䏿³¨äºæ·»å âä¸¥æ ¼çæ°æ®ç±»åâ以ç®åå¼åï¼ä»¥æ´å¥½å°æ¯æå¤æç³»ç»çå¼åãç±å¾®è½¯å¼åã
- Flow 乿·»å äºæ°æ®ç±»åï¼ä½æ¯ä»¥ä¸ç§ä¸åçæ¹å¼ãç± Facebook å¼åã
- Dart æ¯ä¸é¨ç¬ç«çè¯è¨ã宿¥æèªå·±ç弿ï¼è¯¥å¼æå¯ä»¥å¨éæµè§å¨ç¯å¢ä¸è¿è¡ï¼ä¾å¦ææºåºç¨ï¼ï¼å®ä¹å¯ä»¥è¢«ç¼è¯æ JavaScriptãç± Google å¼åã
- Brython æ¯ä¸ä¸ª Python å° JavaScript ç转è¯å¨ï¼è®©æä»¬å¯ä»¥å¨ä¸ä½¿ç¨ JavaScript çæ åµä¸ï¼ä»¥çº¯ Python ç¼ååºç¨ç¨åºã
- Kotlin æ¯ä¸ä¸ªç°ä»£ãç®æ´ä¸å®å ¨çç¼ç¨è¯è¨ï¼ç¼ååºçåºç¨ç¨åºå¯ä»¥å¨æµè§å¨å Node ç¯å¢ä¸è¿è¡ã
è¿æ ·çè¯è¨è¿æå¾å¤ãå½ç¶ï¼å³ä½¿æä»¬å¨ä½¿ç¨æ¤ç±»ç¼è¯è¯è¨ï¼æä»¬ä¹éè¦äºè§£ JavaScriptãå 为äºè§£ JavaScript æè½è®©æä»¬çæ£æç½æä»¬å¨åä»ä¹ã
æ»ç»
- JavaScript æå¼å§æ¯ä¸é¨ä¸ºæµè§å¨è®¾è®¡çä¸é¨è¯è¨ï¼ä½æ¯ç°å¨ä¹è¢«ç¨äºå¾å¤å ¶ä»çç¯å¢ã
- JavaScript ä½ä¸ºè¢«åºç¨æå¹¿æ³çæµè§å¨è¯è¨ï¼ä¸ä¸ HTML/CSS å®å ¨éæï¼å ·æç¬ç¹çå°ä½ã
- æå¾å¤å ¶ä»çè¯è¨å¯ä»¥è¢«âç¼è¯âæ JavaScriptï¼è¿äºè¯è¨è¿æä¾äºæ´å¤çåè½ã建议æå¥½äºè§£ä¸ä¸è¿äºè¯è¨ï¼è³å°å¨ææ¡äº JavaScript ä¹å大è´çäºè§£ä¸ä¸ã
è¯è®º
<code>æ ç¾æå ¥åªæå 个è¯ç代ç ï¼æå ¥å¤è¡ä»£ç å¯ä»¥ä½¿ç¨<pre>æ ç¾ï¼å¯¹äºè¶ è¿ 10 è¡ç代ç ï¼å»ºè®®ä½ ä½¿ç¨æ²ç®±ï¼plnkrï¼JSBinï¼codepenâ¦ï¼