åºæ¬ç®ä»
ECMA's 50th AnniversaryJavaScript æ¯æ ¹æ® "ECMAScript"æ åå¶å®çç½é¡µèæ¬è¯è¨ãè¿ä¸ªæ åç± ECMA ç»ç»åå±åç»´æ¤ãECMA-262 æ¯æ£å¼ç JavaScript æ åãè¿ä¸ªæ ååºäº JavaScript (Netscape) å JScript (Microsoft)ãNetscape (Navigator 2.0) ç Brendan Eich åæäºè¿é¨è¯è¨ï¼ä» 1996 å¹´å¼å§ï¼å·²ç»åºç°å¨ææç Netscape å Microsoft æµè§å¨ä¸ãECMA-262 çå¼åå§äº 1996 å¹´ï¼å¨ 1997 å¹´ 7 æï¼ECMA ä¼å大ä¼é纳äºå®çé¦ä¸ªçæ¬ã
å¨ 1998 å¹´ï¼è¯¥æ åæ为äºå½é
ISO æ å (ISO/IEC 16262)ãè¿ä¸ªæ åä»ç¶å¤äºåå±ä¹ä¸ã
å¨ 2005å¹´12æï¼ECMAåå¸ECMA-357æ åï¼ISO/IEC 22537ï¼åºå°ï¼ä¸»è¦å¢å 对æ©å±æ è®°è¯è¨XMLçæææ¯æã
ç®åjavascript çææ°çæ¬ä¸º1.8ã
åå²æ²¿é©
大æ¦å¨1998å¹´ï¼ä¸å®¶ç§°ä½Nombasçå
¬å¸å¼å§å¼åä¸ç§å«åCååï¼C-minus-minusï¼ç®ç§°Cmmï¼çåµå
¥å¼èæ¬è¯è¨ãè¿ä¸ªèæ¬è¯è¨æç»å¨ä¸ä¸ªå«åCEnviçå
±äº«è½¯ä»¶äº§åä¸ï¼å½Netscape Navigatorå´é²å¤´è§æ¶ï¼Nombaså¼åäºä¸ä¸ªå¯ä»¥åµå
¥ç½é¡µä¸çCEnviççæ¬ãè¿äºæ©æçè¯éªç§°ä¸ºEspressoPageï¼æµåå¡è¬ç页é¢ï¼ï¼å®ä»¬ä»£è¡¨äºç¬¬ä¸ä¸ªå¨ä¸ç»´ç½ä¸ä½¿ç¨ç客æ·ç«¯èæ¬è¯è¨ãèNombasä¸æ¯«æ²¡ææå°å®çç念å°ä¼æ为å ç¹ç½çä¸åéè¦åºç³ã
常è§é®é¢
* JavaScriptæ¯Javaçåç§å
javascript代ç JavaScriptæåçç¡®æ¯åJavaå¯åèå¼å§è®¾è®¡çï¼èä¸è®¾è®¡çç®çä¹ä¸å°±æ¯âçä¸å»åJavaâ[2]ï¼å æ¤è¯æ³ä¸æå¾å¤ç±»ä¼¼ä¹å¤ï¼è®¸å¤å称åå½åè§èä¹åèªJavaãä½æ¯å®é
ä¸ï¼JavaScriptç主è¦è®¾è®¡ååæºèªSelfåScheme[3]ï¼å®ä¸Javaæ¬è´¨ä¸æ¯ä¸åçãå®ä¸Javaå称ä¸çè¿ä¼¼ï¼æ¯å½æ¶ç½æ¯ä¸ºäºè¥éèèä¸Sunå
¬å¸è¾¾æåè®®çç»æãå
¶å®ä»æ¬è´¨ä¸è®²javascriptæ´åæ¯ä¸é¨å½æ°å¼ç¼ç¨è¯è¨.èéé¢å对象çè¯è¨ï¼å®ä½¿ç¨ä¸äºæºè½çè¯æ³åè¯ä¹æ¥ä»¿çé«åº¦å¤æçè¡ä¸ºãå
¶å¯¹è±¡æ¨¡åæ为çµæ´»ãå¼æ¾å强大ï¼å
·æå
¨é¨çåå°æ§ã
* JavaScriptä¸JScriptç¸ååï¼
为äºåå¾ææ¯ä¼å¿ï¼å¾®è½¯æ¨åºäºJScriptæ¥è¿æJavaScriptçèæ¬è¯è¨ã为äºäºç¨æ§ï¼Ecmaå½é
ï¼å身为欧洲计ç®æºå¶é ååä¼ï¼å»ºç«äºECMA-262æ åï¼ECMAScriptï¼ãç°å¨ä¸¤è
é½å±äºECMAScriptçå®ç°ã
* JavaScriptæ¯ä¸é¨ç®åçè¯è¨åï¼
尽管JavaScriptä½ä¸ºç»éç¨åºäººåçèæ¬è¯è¨ï¼èéä½ä¸ºç»ç¨åºäººåçç¼ç¨è¯è¨æ¥æ¨å¹¿åå®£ä¼ ï¼ä½æ¯JavaScriptæ¯ä¸é¨å
·æé常丰å¯ç¹æ§çè¯è¨ï¼å®æçåå
¶ä»ç¼ç¨è¯è¨ä¸æ ·çå¤ææ§ï¼ææ´çå¤æãå®é
ä¸ï¼ä½ å¿
é对JavaScriptææå®çç解æè½ç¨å®æ¥æ°åæ¯è¾å¤æçç¨åºã
åºæ¬æ¦å¿µ
å¨è¿éåªä½ç®åä»ç»ï¼å¨ä»¥åçä¾åä¸ç»ç¨åºåä½å
·ä½è§£éå
¶ä½ç¨ã
1ãè¿ç®ç¬¦
è¿ç®ç¬¦å°±æ¯å®ææä½çä¸ç³»å符å·ï¼å®æä¸ç±»ï¼
èµå¼è¿ç®ç¬¦ï¼=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=ï¼ãç®æ¯è¿ç®ç¬¦(+,-,*,/,++,--,%)ãæ¯è¾è¿ç®ç¬¦(>,<,<=,>=,==,===,!=,!==)ãé»è¾è¿ç®ç¬¦(||,&&,!)ãæ¡ä»¶è¿ç®(?:)ãä½ç§»è¿ç®ç¬¦(|,&,<<,>>,~,^)åå符串è¿ç®ç¬¦(+)ã
å¯è½å¾å¤äººä¸ç¥é"==="ä»ä¹ã
å¨è¿éï¼æ为大家解éä¸ä¸ï¼å¨javascriptä¸ "==="ææ¯å
¨ç åªæ"==="两边çå
åå°åä¹ç¸ç æä¼è¿åç
è"=="åªæ¯å¼ç¸çå°±ä¼è¿åç
ä¾å¦ï¼null==undefined ä¼è¿åç , ä½æ¯null===undefined å°±ä¼è¿ååï¼
2ã表达å¼
è¿ç®ç¬¦åæä½æ°çç»å称为表达å¼ï¼é常å为åç±»ï¼èµå¼è¡¨è¾¾å¼ãç®æ¯è¡¨è¾¾å¼ãå¸å°è¡¨è¾¾å¼åå符串表达å¼ã
3ãè¯å¥
Javascriptç¨åºæ¯ç±è¥å¹²è¯å¥ç»æçï¼è¯å¥æ¯ç¼åç¨åºçæ令ãJavascriptæä¾äºå®æ´çåºæ¬ç¼ç¨è¯å¥ï¼å®ä»¬æ¯ï¼
èµå¼è¯å¥ãswitchéæ©è¯å¥ãwhile循ç¯è¯å¥ãfor循ç¯è¯å¥ãfor each循ç¯è¯å¥ãdo while循ç¯è¯å¥ãbreak循ç¯ä¸æ¢è¯å¥ãcontinue循ç¯ä¸æè¯å¥ãwithè¯å¥ãtry...catchè¯å¥ã
ifè¯å¥ï¼if..elseï¼if...else if ...ï¼ãletè¯å¥ã
4ãå½æ°
å½æ°æ¯å½åçè¯å¥æ®µï¼è¿ä¸ªè¯å¥æ®µå¯ä»¥è¢«å½ä½ä¸ä¸ªæ´ä½æ¥å¼ç¨åæ§è¡ã使ç¨å½æ°è¦æ³¨æ以ä¸å ç¹ï¼
1ï¼å½æ°ç±å
³é®åfunctionå®ä¹ï¼ä¹å¯ç±Functionæé å½æ°æé ï¼ï¼
2ï¼ä½¿ç¨functionå
³é®åå®ä¹çå½æ°å¨ä¸ä¸ªä½ç¨åå
æ¯å¯ä»¥å¨ä»»æå¤è°ç¨çï¼å
æ¬å®ä¹å½æ°çè¯å¥åï¼ï¼èç¨varå
³é®åå®ä¹çå¿
é¡»å®ä¹åæè½è¢«è°ç¨ï¼
3ï¼å½æ°åæ¯è°ç¨å½æ°æ¶å¼ç¨çå称ï¼å®å¯¹å¤§å°åæ¯ææçï¼è°ç¨å½æ°æ¶ä¸å¯åéå½æ°åï¼
4ï¼åæ°è¡¨ç¤ºä¼ éç»å½æ°ä½¿ç¨ææä½çå¼ï¼å®å¯ä»¥æ¯å¸¸éï¼ä¹å¯ä»¥æ¯åéï¼ä¹å¯ä»¥æ¯å½æ°ï¼å¨å½æ°å
é¨å¯ä»¥éè¿arguments对象ï¼arguments对象æ¯ä¸ä¸ªä¼ªæ°ç»ï¼å±æ§calleeå¼ç¨è¢«è°ç¨çå½æ°ï¼è®¿é®ææåæ°ï¼
5ï¼returnè¯å¥ç¨äºè¿å表达å¼çå¼ã
6ï¼yieldè¯å¥æåºä¸ä¸ªè¡¨è¾¾å¼ï¼å¹¶ä¸ä¸æå½æ°æ§è¡ç´å°ä¸ä¸æ¬¡è°ç¨nextã
ä¸è¬çå½æ°é½æ¯ä»¥ä¸æ ¼å¼ï¼
function myFunction(params){
//æ§è¡çè¯å¥
}
å½æ°è¡¨è¾¾å¼ï¼
var myFunction=function(params){
//æ§è¡çè¯å¥
}
var myFunction = function(){
//æ§è¡çè¯å¥
}
myFunction();//è°ç¨å½æ°
å¿åå½æ°ï¼å®å¸¸ä½ä¸ºåæ°å¨å
¶ä»å½æ°é´ä¼ éï¼
window.addEventListener('load',function(){
//æ§è¡çè¯å¥
},false);
5ã对象
Javascriptçä¸ä¸ªéè¦åè½å°±æ¯é¢å对象çåè½ï¼éè¿åºäºå¯¹è±¡çç¨åºè®¾è®¡ï¼å¯ä»¥ç¨æ´ç´è§ã模åååå¯éå¤ä½¿ç¨çæ¹å¼è¿è¡ç¨åºå¼åã
ä¸ç»å
å«æ°æ®çå±æ§å对å±æ§ä¸å
å«æ°æ®è¿è¡æä½çæ¹æ³ï¼ç§°ä¸ºå¯¹è±¡ãæ¯å¦è¦è®¾å®ç½é¡µçèæ¯é¢è²ï¼æé对ç对象就æ¯documentï¼æç¨çå±æ§åæ¯bgcolorï¼å¦document.bgcolor="blue"ï¼å°±æ¯è¡¨ç¤ºä½¿èæ¯çé¢è²ä¸ºèè²ã
6ãäºä»¶
ç¨æ·ä¸ç½é¡µäº¤äºæ¶äº§ççæä½ï¼ç§°ä¸ºäºä»¶ãäºä»¶å¯ä»¥ç±ç¨æ·å¼åï¼ä¹å¯è½æ¯é¡µé¢åçæ¹åï¼çè³è¿æä½ çä¸è§çäºä»¶ï¼å¦Ajaxç交äºè¿åº¦æ¹åï¼ãç»å¤§é¨åäºé½ç±ç¨æ·çå¨ä½æå¼åï¼å¦ï¼ç¨æ·æé¼ æ çæé®ï¼å°±äº§çclickäºä»¶ï¼è¥é¼ æ çæéçé¾æ¥ä¸ç§»å¨ï¼å°±äº§çmouseoveräºä»¶ççãå¨Javascriptä¸ï¼äºä»¶å¾å¾ä¸äºä»¶å¤çç¨åºé
å¥ä½¿ç¨ã
è对äºä»¶çå¤çï¼W3Cçæ¹æ³æ¯ç¨addEventListener()å½æ°ï¼å®æä¸ä¸ªåæ°ï¼äºä»¶ï¼å¼åçå½æ°ï¼æ¯å¦ä½¿ç¨äºä»¶ææã为äºå®å
¨æ§ï¼å»ºè®®å°ç¬¬ä¸ä¸ªåæ°å§ç»è®¾ç½®ä¸ºfalseï¼
ä¼ ç»çæ¹æ³å°±æ¯å®ä¹å
ç´ çon...äºä»¶ï¼å®å°±æ¯W3Cçæ¹æ³ä¸çäºä»¶åæ°åå ä¸ä¸ªâonâãèIEçäºä»¶æ¨¡å使ç¨attachEventådettachEvent对äºä»¶è¿è¡ç»å®åå é¤ãjavascriptä¸äºä»¶è¿åæè·åå泡两个é¶æ®µï¼ä½æ¯ä¼ ç»ç»å®åªæ¯æå泡äºä»¶ã
7ãåé
å¦ var myVariable = "some value";
åéæå®çç±»åï¼ä¸ä¾ä¸myVariableçç±»å为stringï¼å符串ï¼
javascriptæ¯æç常ç¨ç±»åè¿æï¼
objectï¼å¯¹è±¡
arrayï¼æ°ç»
numberï¼æ°ï¼
booleanï¼å¸å°å¼ï¼åªætrueåfalse两个å¼ï¼æ¯ææç±»åä¸å ç¨å
åæå°çï¼
nullï¼ä¸ä¸ªç©ºå¼ï¼å¯ä¸çå¼æ¯nullï¼
undefinedï¼æ²¡æå®ä¹åèµå¼çåé
å®é
ä¸javascriptçåéæ¯å¼±åéç±»åï¼ä½ èµå¼ç»ä»çæ¯å符串ï¼ä»å°±æ¯String .
æ¯æ°åä»å°±æ¯æ´å½¢ãæ¯trueåfalseä»å°±æ¯booleanåï¼æ³¨æï¼ä¸è½å å¼å·ï¼ä¸ç¶ä¼è¢«å½æå符串å¤çï¼ã
ç¹ç¹
è½å¤å
·æ交äºæ§ï¼è½å¤å
å«æ´å¤æ´»è·çå
ç´ ï¼å°±æå¿
è¦å¨ç½é¡µä¸åµå
¥å
¶å®çææ¯ãå¦ï¼JavascriptãVBScriptãDocument Object Modelï¼DOMï¼æ档对象模åï¼ãLayerså Cascading Style Sheetsï¼CSSï¼å±å æ ·å¼è¡¨ï¼ï¼è¿é主è¦è®²Javascriptãé£ä¹Javascriptæ¯ä»ä¹ä¸ä¸ï¼Javascriptå°±æ¯éåºå¨æç½é¡µå¶ä½çéè¦èè¯ççä¸ç§æ°çç¼ç¨è¯è¨ï¼å¦ä»è¶æ¥è¶å¹¿æ³å°ä½¿ç¨äºInternetç½é¡µå¶ä½ä¸ã Javascriptæ¯ç± Netscapeå
¬å¸å¼åçä¸ç§èæ¬è¯è¨ï¼scripting languageï¼ï¼æè
称为æè¿°è¯è¨ãå¨HTMLåºç¡ä¸ï¼ä½¿ç¨Javascriptå¯ä»¥å¼å交äºå¼Webç½é¡µãJavascriptçåºç°ä½¿å¾ç½é¡µåç¨æ·ä¹é´å®ç°äºä¸ç§å®æ¶æ§çãå¨æçã交äºæ§çå
³ç³»ï¼ä½¿ç½é¡µå
å«æ´å¤æ´»è·çå
ç´ åæ´å 精彩çå
容ã è¿è¡ç¨Javascriptç¼åçç¨åºéè¦è½æ¯æJavascriptè¯è¨çæµè§å¨ãNetscapeå
¬å¸ Navigator 3ï¼0以ä¸çæ¬çæµè§å¨é½è½æ¯æ Javascriptç¨åºï¼å¾®è½¯å
¬å¸ Internet Explorer 3ï¼0以ä¸çæ¬çæµè§å¨åºæ¬ä¸æ¯æJavascriptã微软å
¬å¸è¿æèªå·±å¼åçJavascriptï¼ç§°ä¸ºJScriptã JavascriptåJscriptåºæ¬ä¸æ¯ç¸åçï¼åªæ¯å¨ä¸äºç»èä¸æåºå
¥ã Javascriptçå°ç²¾æï¼ åæ¯å¨å®¢æ·æºä¸æ§è¡çï¼å¤§å¤§æé«äºç½é¡µçæµè§é度å交äºè½åã åæ¶å®åæ¯ä¸é¨ä¸ºå¶ä½Webç½é¡µèé身å®åçä¸ç§ç®åçç¼ç¨è¯è¨ã
JavaScript 使ç½é¡µå¢å äºå¨æ§ãJavaScript 使æè§å¾å°éå¤çHTMLæ段ç®åï¼åå°ä¸è½½æ¶é´ãJavaScript è½åæ¶ååºç¨æ·çæä½ï¼å¯¹æ交表ååå³æ¶çæ£æ¥ï¼æ é浪费æ¶é´äº¤ç± CGI éªè¯ãJavaScript çç¹ç¹æ¯æ ç©·æ å°½çï¼åªè¦ä½ æåæã
å¼åå·¥å
·
javascriptç¨åºæ¯çº¯ææ¬çï¼ä¸ä¸éè¦ç¼è¯ï¼æ以任ä½çº¯ææ¬çç¼è¾å¨é½å¯ä»¥ç¼è¾javascriptæ件ãå¨Dreamweaver CS4ä¸ä¸ä»
æå¾å¥½ç代ç é«äº®ï¼è¿æè¾å
¨ç代ç æ示åé误æ示ï¼ç¸æ¯å
¶ä»ç¼è¾å¨æ¥è¯´æ¯åå强大çã
Visual Studio 2008 æ¯æjavascriptè°è¯ï¼ä½¿ç¨åºå¼åèµ·æ¥æ´å æ¹ä¾¿ã
åèèµæï¼http://baike.baidu.com/view/16168.htm