Õ⼸Ì죬ÎÒÔÚ¶Á¡¶JavascriptÓïÑÔ¾«´â¡·¡£
Õâ±¾ÊéºÜ±¡£¬100¶àÒ³£¬ÕýºÃ¼ÙÈÕÀï··¡£
¸ÃÊéµÄ×÷ÕßÊÇDouglas Crockford£¬ËûÊÇĿǰÊÀ½çÉÏ×ͨJavascriptµÄÈËÖ®Ò»£¬Ò²ÊÇJson¸ñʽµÄ´´ÔìÕß¡£
ËûÈÏΪJavascriptÓкܶàÔãÆÉ¡£ÒòΪ1995ÄêBrendan EichÉè¼ÆÕâÖÖÓïÑÔµÄʱºò£¬Ö»ÓÃÁËÈý¸öÔ£¬ºÜ¶àÓïÑÔÌØÐÔûÓо¹ýÉî˼ÊìÂÇ£¬¾ÍÍÆÏòÁËÊг¡¡£½á¹ûµÈµ½ÈËÃÇÒâʶµ½ÕâЩÎÊÌâµÄʱºò£¬ÒѾÓÐ100Íò³ÌÐòÔ±ÔÚʹÓÃËüÁË£¬²»¿ÉÄÜÔÙ´ó·ùÐÞ¸ÄÓïÑÔ±¾ÉíÁË¡£ËùÒÔ£¬Douglas Crockford¾ö¶¨£¬ËûÒª¸æËß´ó¼Ò£¬JavascriptÖÐÄÄЩ²¿·ÖÊǾ«´â£¬ÄÄЩ²¿·ÖÊÇÔãÆÉºÍ¼¦Àß¡£
Õâ¸öÏë·¨·Ç³£ºÃ£¬µ«ÊÇÎÒ²»µÃ²»Ëµ£¬Õâ±¾ÊéдµÃ²»¹»ºÃ£¬²»ÊʺÏÐÂÊÖÔĶÁ¡£ÔÒòÈçÏ£º1£©Douglas CrockfordÐðÊöµÃ²»ÇåÎú£¬¸üÏñÓëͬÐÐÌÖÂÛÎÊÌ⣬¶ø²»ÊÇÓÉdzÈëÉîµØ½²½âÎÊÌâ¡£Õâ±¾ÊéµÄÖØµã²»ÊǽâÊÍ£¬ËùÒÔ¶ÁÍêºó£¬ÎÒ¾õµÃJavascriptºÃÏñ±äµÃ¸ü¸´ÔÓÁË¡£2£©Ëû¹ÌÖ´µØÊ¹ÓÃÌú·ͼ£¨railroad diagram£©½âÊÍÿһÌõÓï¾ä¡£È«ÊÀ½çËÆºõÖ»ÓÐËûÒ»¸öÈËʹÓÃÕâÖÖ±ÈJavascript¸üÄÑ¿´¶®µÄͼ¡£3£©¸ÃÊé»ù±¾ÉÏÊÇÒ»±¾¼ò»¯µÄJavascriptÓï·¨Êֲᣬȱ·¦×ã¹»µÄÐÂÄÚÈÝ¡£4£©¸ÃÊé¾ÙÀý¹ýÉÙ£¬¶øÇÒÔÚ×îÄѵĺ¯ÊýºÍ¶ÔÏ󲿷֣¬Ê¹ÓõÄÀý×Ó¶¼ÊÇ»·»·ÏàÌס¢²ã²ãµÝ½øµÄÀý×Ó£¬µ¼ÖÂÔĶÁÆðÀ´ºÜ³ÔÁ¦¡£
¸ÃÊ ......
ÒÔÏÂÒÔ IE ´úÌæ Internet Explorer£¬ÒÔ MF ´úÌæ Mozzila Firefox
1. document.form.item ÎÊÌâ
(1)ÏÖÓÐÎÊÌ⣺
ÏÖÓдúÂëÖдæÔÚÐí¶à document.formName.item("itemName") ÕâÑùµÄÓï¾ä£¬²»ÄÜÔÚ MF ÏÂÔËÐÐ
(2)½â¾ö·½·¨£º
¸ÄÓà document.formName.elements["elementName"]
(3)ÆäËü
²Î¼û 2
2. ¼¯ºÏÀà¶ÔÏóÎÊÌâ
(1)ÏÖÓÐÎÊÌ⣺
ÏÖÓдúÂëÖÐÐí¶à¼¯ºÏÀà¶ÔÏóÈ¡ÓÃʱʹÓà ()£¬IE ÄܽÓÊÜ£¬MF ²»ÄÜ¡£
(2)½â¾ö·½·¨£º
¸ÄÓà [] ×÷ΪϱêÔËËã¡£È磺document.forms("formName") ¸ÄΪ document.forms["formName"]¡£
ÓÖÈ磺document.getElementsByName("inputName")(1) ¸ÄΪ document.getElementsByName("inputName")[1]
(3)ÆäËü
3. window.event
(1)ÏÖÓÐÎÊÌ⣺
&nb ......
<script>
var flags ;
if(window.XMLHttpRequest) {
XMLHttpReq = new XMLHttpRequest(); //firefoxÏÂÖ´ÐдËÓï¾ä
}
else if(window.ActiveXObject) {
try{
XMLHttpReq = new ActiveXObject("Msxm12.XMLHTTP");
}catch(e){
try{
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e) {}
}
}
XMLHttpReq.open("post","getDate.jsp",false);
XMLHttpReq.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded;charset=UTF-8");
XMLHttpReq.onreadystatechange = function () {
var statePending = XMLHttpReq.readyState;
if (statePending == 4&& XMLHttpReq.status==200)
{
&nbs ......
<script>
var flags ;
if(window.XMLHttpRequest) {
XMLHttpReq = new XMLHttpRequest(); //firefoxÏÂÖ´ÐдËÓï¾ä
}
else if(window.ActiveXObject) {
try{
XMLHttpReq = new ActiveXObject("Msxm12.XMLHTTP");
}catch(e){
try{
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e) {}
}
}
XMLHttpReq.open("post","getDate.jsp",false);
XMLHttpReq.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded;charset=UTF-8");
XMLHttpReq.onreadystatechange = function () {
var statePending = XMLHttpReq.readyState;
if (statePending == 4&& XMLHttpReq.status==200)
{
&nbs ......
JavascriptµÄʼþ°ó¶¨Ö÷ÒªÓÐËÄÖÖ·½·¨£¨Ò»ÏÂÔÚIEÖÐÔËÐÐÕý³££¬µ«²»±£Ö¤ÆäËûä¯ÀÀÆ÷£©£º
[×¢£ºonXXXΪijһʼþ£¬funΪijһfunction£¬domIdΪijһDOM¶ÔÏóid£¬eventÀàÐͼûºó±ß¸½Â¼¡£]
1¡¢ÔÚDOMÖУ¬Ö±½ÓÓÃonXXX="fun();"½øÐаó¶¨
2¡¢ÔÚJavascript´úÂëÖÐÓà DOM¶ÔÏó.onXXX=fun ½øÐаó¶¨
3¡¢Óà DOM¶ÔÏó.attachEvent("onXXX",fun) ½øÐаó¶¨
4¡¢ÓÃ<script for="domId" event="onXXX">fun();</script> ½øÐаó¶¨
<html>
<head>
<title>event test</title>
</head>
<body onload="init()">
<!-- °ó¶¨·½Ê½Ò»:ÔÚÔªËØÖУ¬Í¨¹ýonXXX£¨Ê¼þ£©ÉèÖð󶨷½·¨ -->
<button id="btn1" onclick="display()" >°ó¶¨·½Ê½Ò»</button>
<!-- °ó¶¨·½Ê½¶þ£ºÔÚJavascript´úÂëÖУ¬Í¨¹ý»ñµÃÔªËØ£¬ÎªÔªËصÄonXXX£¨Ê¼þ£©ÉèÖð󶨷½·¨ -->
<button id="btn2">°ó¶¨·½Ê½¶þ</button>
<!-- °ó¶¨·½Ê½Èý£ºÍ¨¹ýfor¡¢eventÎªÔªËØ°ó¶¨Ê¼þ£¨IE4+£©¡£forºóÃæÊÇÔªËØid£¬eventÊǾßÌåʼþ -->
<button id="btn3">°ó¶¨·½Ê½Èý</button>
<!-- °ó¶¨·½Ê½ËÄ£ºÍ¨¹ýattachEventÎªÔªËØ°ó¶ ......
°´Å¥Ê½£º
¡¡¡¡<INPUT name="pclog" type="button" value="GO" onClick="location.href='url'">
Ö±½ÓÌø×ªÊ½£º
¡¡¡¡<script>window.location.href='url';</script>
<SCRIPT LANGUAGE="javascript">
<!--
window.open
('page.html', 'newwindow', 'height=100, width=400, top=0, left=0,
toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no,
status=no')
//д³ÉÒ»ÐÐ
-->
</SCRIPT>
²ÎÊý½âÊÍ£º
<SCRIPT LANGUAGE="javascript"> js½Å±¾¿ªÊ¼£»
window.open µ¯³öд°¿ÚµÄÃüÁ
'page.html' µ¯³ö´°¿ÚµÄÎļþÃû£»
'newwindow' µ¯³ö´°¿ÚµÄÃû×Ö£¨²»ÊÇÎļþÃû£©£¬·Ç±ØÐ룬¿ÉÓÿÕ''´úÌæ£»
height=100 ´°¿Ú¸ß¶È£»
width=400 ´°¿Ú¿í¶È£»
top=0 ´°¿Ú¾àÀëÆÁÄ»ÉÏ·½µÄÏóËØÖµ£»
left=0 ´°¿Ú¾àÀëÆÁÄ»×ó²àµÄÏóËØÖµ£»
toolbar=no ÊÇ·ñÏÔʾ¹¤¾ßÀ¸£¬yesΪÏÔʾ£»
menubar£¬scrollbars ±íʾ²Ëµ¥À¸ºÍ¹ö¶¯À¸¡£
resizable=no ÊÇ·ñÔÊÐí¸Ä±ä´°¿Ú´óС£¬yesΪÔÊÐí£»
location=no ÊÇ·ñÏÔʾµØÖ·À¸£¬yesΪÔÊÐí£»
status=no ÊÇ·ñÏÔʾ״̬À¸ ......
ÏÂÃæ¶¼ÊǸöÈËÀí½âÒÔ¼°²éÕÒµÄÍøÉϵÄ×ÊÁÏ,ÈçÓв»¶ÔµÄµØ·½ÇëÖ¸Õý
This
this ʼÖÕÖ¸Ïòµ÷ÓÃËüµÄ¶ÔÏó ,¶¼Ã»ÓжÔÏóµ÷ÓÃʱ¾ÍÖ¸Ïòwindow
ÁíÍâ¾ÍÊÇthisÒ»°ã¶¼ÊÇÔÚfunctionÖÐ,µ±²»ÔÚfunctionÖеÄʱºò Ò»¶¨ÊÇÖ¸ÏòwindowµÄ.
var a ='a';
alert(this.a); //³öÀ´µÄÊÇa
alert(this.b); //undefined ÒòΪ»¹Ã»¶¨Òå
var b= 'b';
alert(this.b); //³öÀ´µÄÊÇb ËùÓеÄÈ«¾Ö±äÁ¿¶¼ÊÇwindowµÄÊôÐÔ
µ±ÔÚfunctionÖеÄʱºò,Èç¹ûûÓжÔÏóµ÷ÓÃËü»¹ÊÇÖ¸ÏòwindowµÄ
var a ='a';
function test(){
alert(this.a)
}
test();
ÓÐÈ˾õµÃthisÊǸù¾ÝÉÏÏÂÎÄÀ´È·¶¨µÄ,·´ÕýÎÒ²»Ã÷°×ÕâÊÇʲôÒâ˼ ֻҪץסһµã ÓÐûÓжÔÏóµ÷ÓÃËü¾ÍºÃÁË,²»¹ÜÕâ¸öthisÒþ²ØµÄÓÐÉî
var a ='a';
function test(){
(function(){
(function(){
(function(){
alert(this.a); //Õâ¸öthisÒþ²ØµÄ¹»ÉîÁ衃 µ«ÊÇûÓжÔÏóµ÷Óà »¹ÊÇÖ¸Ïòwindow
})();
})();
})()
}
test();
ÔÚfunctionÖÐ µ±ÓжÔÏóµ÷ÓÃÕâ¸öfunctionµÄʱºò this¾ÍÖ¸ÏòÕâ¸ö¶ÔÏóÁË......
var vv = "wo bu shi vv";
function text(){
alert(this.vv)
};
var obj = {
vv : "vv",
s ......