éåç« ç¯çå §å®¹ä¸»è¦æ¯ä»ç´¹ JavaScript åè¨è«ä¸äº JavaScript çåºæ¬æ¦å¿µã
å¨éå§åéå ·åä¹è½åæ¬æååè¨ä½ å ·æä»¥ä¸åºæ¬èæ¯ï¼
JavaScript æ¯å跨平å°ãç©ä»¶å°åãè¼å°åçè ³æ¬èªè¨ãä½çºç¨ç«èªè¨ä¸¦ä¸å¯¦ç¨ï¼èæ¯çºäºè½ç°¡å®åµå ¥å ¶ä»ç¢ååæç¨ç¨å¼ï¼ä¾å¦ï¼ç¶²é ç覽å¨ï¼èè¨è¨ãJavaScript è¥å¯å®¿å¨ä¸»é«ç°å¢ï¼Host environmentï¼æï¼å¯ä»¥èç°å¢ä¸çç©ä»¶ ï¼Objectï¼ç¸é£ï¼ä¸¦ä»¥ç¨å¼æ§å¶éäºç©ä»¶ã
Core JavaScript å
å«äºç©ä»¶çæ ¸å¿éåï¼ä¾å¦: Arrayã
Dateã
Math
ï¼åèªè¨æä»½çæ ¸å¿éåï¼ä¾å¦ï¼éç®åãæ§å¶çµæ§ãæè¿°ï¼ãå¨ Core JavaScript å¢å é¡å¤çç©ä»¶å³å¯æ´å
åå¼å樣çåè½ï¼ä¾å¦ï¼
èä¾ä¾èªªï¼ç¨æ¶ç«¯çæ´å å¥ä»¶å 許æåæç¨ç¨å¼å°å ç´ æ¾ç½®å¨ HTML ç表å®ä¸åå°ä½¿ç¨è çæä½ï¼ä¾å¦ï¼æ»é¼ é»é¸ã表å®è¼¸å ¥ãé é¢å°è¦½çï¼ååºåæã
èä¾ä¾èªªï¼ä¼ºæå¨ç«¯çæ´å å¥ä»¶å 許æåæç¨ç¨å¼åç¸éçè³æåº«äº¤æè¨æ¯ãå°ä¸åå ¶ä»æç¨ç¨å¼çå¼å«æä¾é£çºæ§çè³è¨ãå¨ä¼ºæå¨ä¸å·è¡æªæ¡æä½ã
éé JavaScript ç LiveConnect åè½ï¼ä½ å¯ä»¥ä½¿ Java å JavaScript çç¨å¼ç¢¼å½¼æ¤ç¸é£ãå¨ JavaScript çç¨å¼ç¢¼ä¸ï¼ä½ å¯ä»¥å¯¦ä¾åï¼instantiateï¼Java çç©ä»¶ä¸¦ååé£äºç©ä»¶çå ¬ææ¹æ³ï¼public methodsï¼åæ¬ä½ï¼fieldsï¼ãå¨ Java çç¨å¼ç¢¼ä¸ï¼ä½ å¯ä»¥åå JavaScript çç©ä»¶ã屬æ§ï¼propertiesï¼åæ¹æ³ï¼methodsï¼ã
Netscape å ¬å¸ç¼æäº JavaScript ï¼è JavaScript çç¬¬ä¸æ¬¡ä½¿ç¨æ£æ¯å¨ Netscape èªå®¶çç覽å¨ä¸ã
JavaScript è JavaJavaScript è Java å¨æäºæ¹é¢é常ç¸ä¼¼ä½æ¬è³ªä¸å»æ¯ä¸åçã JavaScript éç¶å Java é¡ä¼¼ï¼å»æ²æ Java çéæ å®åï¼static typingï¼åå¼·åæ ç¢ºèªï¼strong type checkingï¼ç¹æ§ã JavaScript éµå¾å¤§é¨ä»½ç Java 表éå¼èªæ³ãå½åå³çµ±ååºæ¬çæµç¨æ§å¶æ¦å¿µï¼éç¹æ§åæä¹æ¯çºä½è¦å° LiveScript éæ°å½åçº JavaScript çåå ã
ç¸è¼æ¼ Java ç±è¨±å¤é¡å¥ä¸ç宣å建ç«ç compile-time 系統ï¼JavaScript æ¯æ´ä¸åç±å°æ¸ä»£è¡¨æ¸å¼ï¼numericï¼ã叿å¼ï¼Booleanï¼ãå串ï¼stringï¼çè³æé¡åææ§æçå·è¡æå½å¼åº«ï¼runtime systemï¼ãJavaScript ææä¸ååºæ¼ååçç©ä»¶æ¨¡åï¼prototype-based object modelï¼è䏿¯æ®é使ç¨çåºæ¼é¡å¥çç©ä»¶æ¨¡åï¼class-based object modelï¼ãåºæ¼ååçç©ä»¶æ¨¡åæä¾åæ ç¹¼æ¿ï¼dynamic inheritanceï¼çåè½ï¼æå³è¢«ç¹¼æ¿çç©ä»¶å¯ä»¥æ ¹æåå¥çç©ä»¶èæ¹è®ãJavaScript 乿¯æ´ä¸éä»»ä½ç¹æ®å®£åçå½å¼ï¼å½å¼å¯ä»¥æ¯ç©ä»¶ç屬æ§ï¼å¦å鬿£åæ æ¹æ³ï¼loosely typed methodï¼é£æ¨£å·è¡ã
JavaScript å Java ç¸æ¯èµ·ä¾ï¼ç®æ¯ä¸åæ ¼å¼é常èªç±çèªè¨ãä½ ä¸éè¦å®£åææçè®æ¸ãé¡å¥ï¼classï¼ãæ¹æ³ï¼ä½ ä¸éè¦æ³¨æåªäºæ¹æ³æ¯å ¬æï¼publicï¼æç§æï¼privateï¼æåä¿è·çï¼protectedï¼ï¼ä½ ä¸éè¦å¯¦ä½ä»é¢ï¼interfaceï¼ãè®æ¸ã忏åå½å¼åå³çåæ ä¸¦ä¸æ¯é¡¯æ§åæ ã
Java æ¯ä¸åçºäºå¿«éå·è¡èå®å ¨åæ èè¨è¨çåºæ¼é¡å¥çç¨å¼èªè¨ï¼class-based programming languageï¼ãå®å ¨åæ æå³ä½ å¨ Java ä¸ç¡æ³å°æ´æ¸ä¸çµ¦ä¸åç©ä»¶åèï¼ä¹ç¡æ³èç±ä¸æ· Java bytecodes ä¾ååç§æçè¨æ¶é«ã Java çåºæ¼é¡å¥æ¨¡åï¼class-based modelï¼æææ¯ç¨å¼ç±å°éçé¡å¥åå ¶æ¹æ³æçµæãJava çé¡å¥ç¹¼æ¿ï¼class inheritanceï¼åå¼·åå¥ï¼strong typingï¼é常éè¦å´è¬¹çè¦åå°è±¡éç´ï¼coupled object hierarchiesï¼ãéäºéæ±ä½¿å¾ Java å¨ç¨å¼çæ°å¯«ä¸æ¯ JavaScript ä¾çè¤éã
ç¸åçï¼JavaScript æ¿è¥²äºå¦å HyperTalk å dBASE ç¸åçç²¾ç¥ï¼è¼å°ãåæ é¡åã éäºè ³æ¬èªè¨å çºè¼ç°¡å®çèªæ³ãç¹æ®åçåè½ãè¼å¯¬é¬çè¦æ±çç¹æ§ï¼é²èæä¾äºè¨±å¤è»é«éç¼å·¥å ·ï¼programming toolï¼çµ¦æ´å¤æ´å»£å¤§çæå¥½è ã
表 1.1 - JavaScript å Java æ¯è¼
JavaScript Java ç©ä»¶å°åãç©ä»¶çåæ ä¹éç¡åå¥ãèç±ååæ©å¶ï¼prototype mechanismï¼å屬æ§ï¼propertiesï¼å¯¦è¡ç¹¼æ¿ã屬æ§åæ¹æ³å¯è¢«åæ æ°å¢è³ä»»ä½ç©ä»¶ã é¡å¥å°åãç©ä»¶èç±é¡å¥éç´ï¼class hierarchyï¼è被åé¢è³é¡å¥åææç¹¼æ¿ç實é«ï¼instanceï¼ä¸ãé¡å¥å實é«ç¡æ³åæ æ°å¢å±¬æ§åæ¹æ³ã è®æ¸è³æåæ æ²æå®£åå°±å¯ä½¿ç¨ï¼åæ å®åï¼dynamic typingï¼ã è®æ¸è³æåæ å¿ é 宣åæå¯ä½¿ç¨ï¼éæ å®åï¼static typingï¼ã ç¡æ³èªåè¦å¯«å°ç¡¬ç¢ã ç¡æ³èªåè¦å¯«å°ç¡¬ç¢ãæ´å¤éæ¼ JavaScript å Java çå·®ç°æ¯è¼ï¼è«åè¦ Details of the Object Model ã
JavaScript è ECMAScript è¦æ ¼Netscape å ¬å¸ç¼æäº JavaScript ï¼è JavaScript çç¬¬ä¸æ¬¡æç¨æ£æ¯å¨ Netscape ç覽å¨ãç¶èï¼Netscape å¾ä¾å Ecma Internationalï¼ä¸åè´åæ¼å°è³è¨åéè¨ç³»çµ±æ¨æºåçææ´²çµç¹ï¼åèº«çº ECMA - ææ´²è¨ç®æ©è£½é ååæï¼åä½ï¼éç¼ä¸ååºæ¼ JavaScript æ ¸å¿ä¸¦åæå ¼å ·æ¨æºåèåéåçç¨å¼èªè¨ï¼éåç¶éæ¨æºåç JavaScript ä¾¿ç¨±ä½ ECMAScript ï¼å JavaScript æèç¸åçæç¨æ¹å¼ä¸¦æ¯æ´ç¸éæ¨æºãååå ¬å¸é½å¯ä»¥ä½¿ç¨éåéæ¾çæ¨æºèªè¨å»éç¼ JavaScript çå°æ¡ãECMAScript æ¨æºè¨è¼æ¼ ECMA-262 éåè¦æ ¼ä¸ã
ECMA-262 æ¨æºåæä¹ç¶é ISOï¼å鿍æºåçµç¹ï¼èªè¨¼ï¼æçº ISO-16262 æ¨æºãä½ å¯ä»¥å¨ Mozilla çç¶²ç«ä¸æ¾å° PDF çæ¬ç ECMA-262ï¼ä½éæ¿æ¬å·²éæï¼ä½ ä¹å¯ä»¥å¨ Ecma International çç¶²ç« æ¾å°éåè¦æ ¼ã ECMAScript è¦æ ¼ä¸ä¸¦æ²ææè¿°å·²ç¶è¢« W3Cï¼å ¨çè³è¨ç¶²åæï¼æ¨æºåçæä»¶ç©ä»¶æ¨¡åï¼DOMï¼ãæä»¶ç©ä»¶æ¨¡åå®ç¾©äº HTML æä»¶ç©ä»¶ï¼document objectsï¼åè ³æ¬ä¹ééä½çæ¹å¼ã
JavaScript çæ¬è ECMAScript çæ¬ä¹éçéä¿ECMAScript è¦æ ¼ï¼ECMA-262ï¼å¨ Netscape å Ecma International çå¯ååä½ä¸ç¢çãä¸è¡¨æè¿°äº JavaScript ççæ¬å ECMAScript ççæ¬ä¹éçéä¿ã
表 1.2 - JavaScript çæ¬å ECMAScript çæ¬
JavaScript ççæ¬ å ECMAScript çæ¬çéä¿ JavaScript 1.1 ECMA-262 第1çæ¯åºæ¼ JavaScript 1.1 建ç«çã JavaScript 1.2ECMA-262 å¨ JavaScript 1.2 ç¼è¡ä¹éå°æªå®æã以䏿¯ JavaScript 1.2 並æªå®å ¨ç¸å®¹æ¼ ECMA-262 第1ççåå ï¼
JavaScript 1.3 å®å ¨ç¸å®¹æ¼ ECMA-262 第1çã
JavaScript 1.3 èç±ä¿çææå¨ JavaScript 1.2 æ°å¢çç¹æ§ï¼é¤äº == å ï¼= 以å¤ï¼å çºè¦å ECMA-262 ä¸è´ï¼ï¼è§£æ±ºäº JavaScript 1.2 å ECMA-262 ä¹éçè¡çªã JavaScript 1.4JavaScript 1.4 å®å ¨ç¸å®¹æ¼ ECMA-262 第1çã
ECMAScript 第3çè¦æ ¼å¨ JavaScript 1.4 ç¼è¡ä¹éå°æªå®æã JavaScript 1.5 JavaScript 1.5 å®å ¨ç¸å®¹æ¼ ECMA-262 第3çãåè¨»ï¼ ECMA-262 第 2 çæ¯ç±å·²ä¿®æ£é¯èª¤ç第 1 ç並å ä¸äºå¾®çæ´åæ§æãç¾ä»ç± Ecma International ç TC39 å·¥ä½çµï¼TC39 Working Groupï¼æç¼è¡ççæ¬æ¯ ECMAScript 5.1 ç
JavaScript Reference æåºäºåªäº JavaScript çç¹æ§æ¯ç¸å®¹æ¼ ECMAScript çã
JavaScript æ°¸é å å«è¨±å¤é ECMAScript è¦æ ¼ä¸çç¹æ§ï¼
JavaScript ä¸å ç¸å®¹æ¼ ECMAScript æ´æä¾äºé¡å¤çç¹æ§ã
JavaScript 使ç¨èªªæ v.s ECMAScript è¦æ ¼ECMAScript è¦æ ¼æ¯å·è¡ ECMAScript æå¿ é çæ¢ä»¶ï¼ç¶ä½ æ³å¤æ·æå JavaScript çç¹æ§æ¯å¦å¨å ¶ä» ECMAScript 實ä½ä¸æè¢«æ¯æ´æï¼ECMAScript è¦æ ¼æ¯é常æç¨çãå¦æä½ æç®æ°å¯« JavaScript ç¨å¼ç¢¼ä¸¦å¨ç¨å¼ç¢¼ä¸ä½¿ç¨å æ ECMAScript ææ¯æ´çç¹æ§ï¼é£ä½ å¯è½éè¦æ¥é±ä¸ä¸ ECMAScript è¦æ ¼ã
ECMAScript æä»¶ä¸¦ä¸æ¯çºäºå¹«å©è ³æ¬ç¨å¼è¨è¨å¸«èæ°å¯«ï¼å¦ææ³ç¥éæ°å¯«è ³æ¬çç¸éè³è¨ï¼è«åè JavaScript 使ç¨èªªæã
JavaScript å ECMAScript çå°éè¡èªECMAScript è¦æ ¼ä½¿ç¨çè¡èªåèªæ³å°æ¼ JavaScript çç¨å¼è¨è¨å¸«ä¾èªªå¯è½ä¸æ¯é£éº¼ç親åãéç¶èªè¨çæè¿°å¨ ECMAScript ä¸å¯è½æææä¸åï¼ä½èªè¨æ¬èº«çæ§è³ªä»ç¶æ¯ä¸è®çãJavaScript æ¯æ´ææå¨ ECMAScript è¦æ ¼ä¸è¢«æè¿°å°çåè½ã
JavaScript 使ç¨èªªæå°æ¼èªè¨çè§é»çæè¿°è¼é©å JavaScript çç¨å¼è¨è¨å¸«ãä¾å¦ï¼
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