AJAXÈëÃÅÖ®ÉîÈëÀí½âJavaScriptÖеĺ¯Êý_Ajax±à³Ì_ºÚ¿Í·ÀÏßÍø°²·þÎñÆ÷ά»¤»ùµØ--Powered by WWW.RONGSEN.COM.CN

AJAXÈëÃÅÖ®ÉîÈëÀí½âJavaScriptÖеĺ¯Êý

×÷ÕߣººÚ¿Í·ÀÏßÍø°²Íøվά»¤»ùµØ À´Ô´£ººÚ¿Í·ÀÏßÍø°²Íøվά»¤»ùµØ ä¯ÀÀ´ÎÊý£º0

±¾Æª¹Ø¼ü´Ê£ºAJAXJavaScriptº¯Êý
ºÚ¿Í·ÀÏßÍø°²ÍøѶ£º¸ÅÊö¡¡¡¡º¯ÊýÊǽøÐÐÄ£¿é»¯³ÌÐòÉè¼ÆµÄ»ù´¡£¬±àд¸´ÔÓµÄAjaxÓ¦ÓóÌÐò£¬±ØÐë¶Ôº¯ÊýÓиüÉîÈëµÄÁ˽⡣JavaScriptÖеĺ¯Êý²»Í¬ÓÚÆäËûµÄÓïÑÔ£¬Ã¿¸öº¯Êý¶¼ÊÇ×÷Ϊһ¸ö¶ÔÏó±»Î¬»¤ºÍÔËÐеġ£Í¨¹ýº¯Êý¶ÔÏóµÄÐÔÖÊ£¬¿ÉÒԺܷ½±ã ...
¸ÅÊö

¡¡¡¡º¯ÊýÊǽøÐÐÄ£¿é»¯³ÌÐòÉè¼ÆµÄ»ù´¡£¬±àд¸´ÔÓµÄAjaxÓ¦ÓóÌÐò£¬±ØÐë¶Ôº¯ÊýÓиüÉîÈëµÄÁ˽⡣JavaScriptÖеĺ¯Êý²»Í¬ÓÚÆäËûµÄÓïÑÔ£¬Ã¿¸öº¯Êý¶¼ÊÇ×÷Ϊһ¸ö¶ÔÏó±»Î¬»¤ºÍÔËÐеġ£Í¨¹ýº¯Êý¶ÔÏóµÄÐÔÖÊ£¬¿ÉÒԺܷ½±ãµÄ½«Ò»¸öº¯Êý¸³Öµ¸øÒ»¸ö±äÁ¿»òÕß½«º¯Êý×÷Ϊ²ÎÊý´«µÝ¡£ÔÚ¼ÌÐø½²Êö֮ǰ£¬ÏÈ¿´Ò»Ïº¯ÊýµÄʹÓÃÓï·¨£º

function func1(¡­){¡­}
var func2=function(¡­){¡­};
var func3=function func4(¡­){¡­};
var func5=new Function();

¡¡¡¡ÕâЩ¶¼ÊÇÉùÃ÷º¯ÊýµÄÕýÈ·Óï·¨¡£ËüÃǺÍÆäËûÓïÑÔÖг£¼ûµÄº¯Êý»ò֮ǰ½éÉܵĺ¯Êý¶¨Ò巽ʽÓÐןܴóµÄÇø±ð¡£ÄÇôÔÚJavaScriptÖÐΪʲôÄÜÕâôд£¿ËüËù×ñÑ­µÄÓï·¨ÊÇʲôÄØ£¿ÏÂÃ潫½éÉÜÕâЩÄÚÈÝ¡£

¡¡¡¡ÈÏʶº¯Êý¶ÔÏó£¨Function Object£©

¡¡¡¡¿ÉÒÔÓÃfunction¹Ø¼ü×Ö¶¨ÒåÒ»¸öº¯Êý£¬²¢ÎªÃ¿¸öº¯ÊýÖ¸¶¨Ò»¸öº¯ÊýÃû£¬Í¨¹ýº¯ÊýÃûÀ´½øÐе÷Óá£ÔÚJavaScript½âÊÍÖ´ÐÐʱ£¬º¯Êý¶¼ÊDZ»Î¬»¤ÎªÒ»¸ö¶ÔÏó£¬Õâ¾ÍÊÇÒª½éÉܵĺ¯Êý¶ÔÏó£¨Function Object£©¡£

¡¡¡¡º¯Êý¶ÔÏóÓëÆäËûÓû§Ëù¶¨ÒåµÄ¶ÔÏóÓÐ×ű¾ÖʵÄÇø±ð£¬ÕâÒ»Àà¶ÔÏó±»³Æ֮ΪÄÚ²¿¶ÔÏó£¬ÀýÈçÈÕÆÚ¶ÔÏó£¨Date£©¡¢Êý×é¶ÔÏó£¨Array£©¡¢×Ö·û´®¶ÔÏó£¨String£©¶¼ÊôÓÚÄÚ²¿¶ÔÏó¡£ÕâЩÄÚÖöÔÏóµÄ¹¹ÔìÆ÷ÊÇÓÉJavaScript±¾ÉíËù¶¨ÒåµÄ£ºÍ¨¹ýÖ´ÐÐnew Array()ÕâÑùµÄÓï¾ä·µ»ØÒ»¸ö¶ÔÏó£¬JavaScriptÄÚ²¿ÓÐÒ»Ì×»úÖÆÀ´³õʼ»¯·µ»ØµÄ¶ÔÏ󣬶ø²»ÊÇÓÉÓû§À´Ö¸¶¨¶ÔÏóµÄ¹¹Ô췽ʽ¡£

¡¡¡¡ÔÚJavaScriptÖУ¬º¯Êý¶ÔÏó¶ÔÓ¦µÄÀàÐÍÊÇFunction£¬ÕýÈçÊý×é¶ÔÏó¶ÔÓ¦µÄÀàÐÍÊÇArray£¬ÈÕÆÚ¶ÔÏó¶ÔÓ¦µÄÀàÐÍÊÇDateÒ»Ñù£¬¿ÉÒÔͨ¹ýnew Function()À´´´½¨Ò»¸öº¯Êý¶ÔÏó£¬Ò²¿ÉÒÔͨ¹ýfunction¹Ø¼ü×ÖÀ´´´½¨Ò»¸ö¶ÔÏó¡£ÎªÁ˱ãÓÚÀí½â£¬ÎÒÃDZȽϺ¯Êý¶ÔÏóµÄ´´½¨ºÍÊý×é¶ÔÏóµÄ´´½¨¡£ÏÈ¿´Êý×é¶ÔÏó£ºÏÂÃæÁ½ÐдúÂ붼ÊÇ´´½¨Ò»¸öÊý×é¶ÔÏómyArray£º

var myArray=[];
//µÈ¼ÛÓÚ
var myArray=new Array();
ͬÑù£¬ÏÂÃæµÄÁ½¶Î´úÂëÒ²¶¼ÊÇ´´½¨Ò»¸öº¯ÊýmyFunction£º
function myFunction(a,b){
      return a+b;
}
//µÈ¼ÛÓÚ
var myFunction=new Function("a","b","return a+b");

¡¡¡¡Í¨¹ýºÍ¹¹ÔìÊý×é¶ÔÏóÓï¾äµÄ±È½Ï£¬¿ÉÒÔÇå³þµÄ¿´µ½º¯Êý¶ÔÏó±¾ÖÊ£¬Ç°Ãæ½éÉܵĺ¯ÊýÉùÃ÷ÊÇÉÏÊö´úÂëµÄµÚÒ»ÖÖ·½Ê½£¬¶øÔÚ½âÊÍÆ÷ÄÚ²¿£¬µ±Óöµ½ÕâÖÖÓ﷨ʱ£¬¾Í»á×Ô¶¯¹¹ÔìÒ»¸öFunction¶ÔÏ󣬽«º¯Êý×÷Ϊһ¸öÄÚ²¿µÄ¶ÔÏóÀ´´æ´¢ºÍÔËÐС£´ÓÕâÀïÒ²¿ÉÒÔ¿´µ½£¬Ò»¸öº¯Êý¶ÔÏóÃû³Æ£¨º¯Êý±äÁ¿£©ºÍÒ»¸öÆÕͨ±äÁ¿Ãû³Æ¾ßÓÐͬÑùµÄ¹æ·¶£¬¶¼¿ÉÒÔͨ¹ý±äÁ¿ÃûÀ´ÒýÓÃÕâ¸ö±äÁ¿£¬µ«ÊǺ¯Êý±äÁ¿ÃûºóÃæ¿ÉÒÔ¸úÉÏÀ¨ºÅºÍ²ÎÊýÁбíÀ´½øÐк¯Êýµ÷Óá£

¡¡¡¡ÓÃnew Function()µÄÐÎʽÀ´´´½¨Ò»¸öº¯Êý²»³£¼û£¬ÒòΪһ¸öº¯ÊýÌåͨ³£»áÓжàÌõÓï¾ä£¬Èç¹û½«ËüÃÇÒÔÒ»¸ö×Ö·û´®µÄÐÎʽ×÷Ϊ²ÎÊý´«µÝ£¬´úÂëµÄ¿É¶ÁÐԲÏÂÃæ½éÉÜÒ»ÏÂÆäʹÓÃÓï·¨£º

var funcName=new Function(p1,p2,...,pn,body);

¡¡¡¡²ÎÊýµÄÀàÐͶ¼ÊÇ×Ö·û´®£¬p1µ½pn±íʾËù´´½¨º¯ÊýµÄ²ÎÊýÃû³ÆÁÐ±í£¬body±íʾËù´´½¨º¯ÊýµÄº¯ÊýÌåÓï¾ä£¬funcName¾ÍÊÇËù´´½¨º¯ÊýµÄÃû³Æ¡£¿ÉÒÔ²»Ö¸¶¨ÈκβÎÊý´´½¨Ò»¸ö¿Õº¯Êý£¬²»Ö¸¶¨funcName´´½¨Ò»¸öÎÞÃûº¯Êý£¬µ±È»ÄÇÑùµÄº¯ÊýûÓÐÈκÎÒâÒå¡£

¡¡¡¡ÐèҪעÒâµÄÊÇ£¬p1µ½pnÊDzÎÊýÃû³ÆµÄÁÐ±í£¬¼´p1²»½öÄÜ´ú±íÒ»¸ö²ÎÊý£¬ËüÒ²¿ÉÒÔÊÇÒ»¸ö¶ººÅ¸ô¿ªµÄ²ÎÊýÁÐ±í£¬ÀýÈçÏÂÃæµÄ¶¨ÒåÊǵȼ۵ģº

new Function("a", "b", "c", "return a+b+c")
new Function("a, b, c", "return a+b+c")
new Function("a,b", "c", "return a+b+c")

¡¡¡¡JavaScriptÒýÈëFunctionÀàÐͲ¢Ìṩnew Function()ÕâÑùµÄÓï·¨ÊÇÒòΪº¯Êý¶ÔÏóÌí¼ÓÊôÐԺͷ½·¨¾Í±ØÐë½èÖúÓÚFunctionÕâ¸öÀàÐÍ¡£
º¯ÊýµÄ±¾ÖÊÊÇÒ»¸öÄÚ²¿¶ÔÏó£¬ÓÉJavaScript½âÊÍÆ÷¾ö¶¨ÆäÔËÐз½Ê½¡£Í¨¹ýÉÏÊö´úÂë´´½¨µÄº¯Êý£¬ÔÚ³ÌÐòÖпÉÒÔʹÓú¯ÊýÃû½øÐе÷Óᣱ¾½Ú¿ªÍ·ÁгöµÄº¯Êý¶¨ÒåÎÊÌâÒ²µÃµ½Á˽âÊÍ¡£×¢Òâ¿ÉÖ±½ÓÔÚº¯ÊýÉùÃ÷ºóÃæ¼ÓÉÏÀ¨ºÅ¾Í±íʾ´´½¨Íê³ÉºóÁ¢¼´½øÐк¯Êýµ÷Óã¬ÀýÈ磺

var i=function (a,b){
       return a+b;
}(1,2);
alert(i);

¡¡¡¡Õâ¶Î´úÂë»áÏÔʾ±äÁ¿iµÄÖµµÈÓÚ3¡£iÊDZíʾ·µ»ØµÄÖµ£¬¶ø²»ÊÇ´´½¨µÄº¯Êý£¬ÒòΪÀ¨ºÅ¡°(¡±±ÈµÈºÅ¡°=¡±Óиü¸ßµÄÓÅÏȼ¶¡£ÕâÑùµÄ´úÂë¿ÉÄܲ¢²»³£Ó㬵«µ±Óû§ÏëÔںܳ¤µÄ´úÂë¶ÎÖнøÐÐÄ£¿é»¯Éè¼Æ»òÕßÏë±ÜÃâÃüÃû³åÍ»£¬ÕâÊÇÒ»¸ö²»´íµÄ½â¾ö°ì·¨¡£

¡¡¡¡ÐèҪעÒâµÄÊÇ£¬¾¡¹ÜÏÂÃæÁ½ÖÖ´´½¨º¯ÊýµÄ·½·¨Êǵȼ۵ģº

function funcName(){
       //º¯ÊýÌå
}
//µÈ¼ÛÓÚ
var funcName=function(){
       //º¯ÊýÌå
}

¡¡¡¡µ«Ç°ÃæÒ»ÖÖ·½Ê½´´½¨µÄÊÇÓÐÃûº¯Êý£¬¶øºóÃæÊÇ´´½¨ÁËÒ»¸öÎÞÃûº¯Êý£¬Ö»ÊÇÈÃÒ»¸ö±äÁ¿Ö¸ÏòÁËÕâ¸öÎÞÃûº¯Êý¡£ÔÚʹÓÃÉϽöÓÐÒ»µãÇø±ð£¬¾ÍÊÇ£º¶ÔÓÚÓÐÃûº¯Êý£¬Ëü¿ÉÒÔ³öÏÖÔÚµ÷ÓÃÖ®ºóÔÙ¶¨Òå;¶ø¶ÔÓÚÎÞÃûº¯Êý£¬Ëü±ØÐëÊÇÔÚµ÷ÓÃ֮ǰ¾ÍÒѾ­¶¨Òå¡£ÀýÈ磺

<script language="JavaScript" type="text/javascript">
<!--
func();
var func=function(){
       alert(1)
}
//-->
</script>

¡¡¡¡Õâ¶ÎÓï¾ä½«²úÉúfunc䶨ÒåµÄ´íÎ󣬶ø£º

<script language="JavaScript" type="text/javascript">
<!--
func();
function func(){
      alert(1)
}
//-->
</script>

¡¡¡¡ÔòÄܹ»ÕýÈ·Ö´ÐУ¬ÏÂÃæµÄÓï¾äÒ²ÄÜÕýÈ·Ö´ÐУº

<script language="JavaScript" type="text/javascript">
<!--
func();
var someFunc=function func(){
      alert(1)
}
//-->
</script>

¡¡¡¡Óɴ˿ɼû£¬¾¡¹ÜJavaScriptÊÇһÎâÊÍÐ͵ÄÓïÑÔ£¬µ«Ëü»áÔÚº¯Êýµ÷ÓÃʱ£¬¼ì²éÕû¸ö´úÂëÖÐÊÇ·ñ´æÔÚÏàÓ¦µÄº¯Êý¶¨Ò壬Õâ¸öº¯ÊýÃûÖ»ÓÐÊÇͨ¹ýfunction funcName()ÐÎʽ¶¨ÒåµÄ²Å»áÓÐЧ£¬¶ø²»ÄÜÊÇÄäÃûº¯Êý¡£

¡¡¡¡º¯Êý¶ÔÏóºÍÆäËûÄÚ²¿¶ÔÏóµÄ¹Øϵ

¡¡¡¡³ýÁ˺¯Êý¶ÔÏ󣬻¹ÓкܶàÄÚ²¿¶ÔÏ󣬱ÈÈ磺Object¡¢Array¡¢Date¡¢RegExp¡¢Math¡¢Error¡£ÕâЩÃû³Æʵ¼ÊÉϱíʾһ¸öÀàÐÍ£¬¿ÉÒÔͨ¹ýnew²Ù×÷·û·µ»ØÒ»¸ö¶ÔÏó¡£È»¶øº¯Êý¶ÔÏóºÍÆäËû¶ÔÏó²»Í¬£¬µ±ÓÃtypeofµÃµ½Ò»¸öº¯Êý¶ÔÏóµÄÀàÐÍʱ£¬ËüÈÔÈ»»á·µ»Ø×Ö·û´®¡°function¡±£¬¶øtypeofÒ»¸öÊý×é¶ÔÏó»òÆäËûµÄ¶ÔÏóʱ£¬Ëü»á·µ»Ø×Ö·û´®¡°object¡±¡£ÏÂÃæµÄ´úÂëʾÀýÁËtypeof²»Í¬ÀàÐ͵ÄÇé¿ö£º

alert(typeof(Function)));
alert(typeof(new Function()));
alert(typeof(Array));
alert(typeof(Object));
alert(typeof(new Array()));
alert(typeof(new Date()));
alert(typeof(new Object()));

¡¡¡¡ÔËÐÐÕâ¶Î´úÂë¿ÉÒÔ·¢ÏÖ£ºÇ°Ãæ4ÌõÓï¾ä¶¼»áÏÔʾ¡°function¡±£¬¶øºóÃæ3ÌõÓï¾äÔòÏÔʾ¡°object¡±£¬¿É¼ûnewÒ»¸öfunctionʵ¼ÊÉÏÊÇ·µ»ØÒ»¸öº¯Êý¡£ÕâÓëÆäËûµÄ¶ÔÏóÓкܴóµÄ²»Í¬¡£ÆäËûµÄÀàÐÍArray¡¢ObjectµÈ¶¼»áͨ¹ýnew²Ù×÷·û·µ»ØÒ»¸öÆÕͨ¶ÔÏó¡£¾¡¹Üº¯Êý±¾ÉíÒ²ÊÇÒ»¸ö¶ÔÏ󣬵«ËüÓëÆÕͨµÄ¶ÔÏó»¹ÊÇÓÐÇø±ðµÄ£¬ÒòΪËüͬʱҲÊǶÔÏó¹¹ÔìÆ÷£¬Ò²¾ÍÊÇ˵£¬¿ÉÒÔnewÒ»¸öº¯ÊýÀ´·µ»ØÒ»¸ö¶ÔÏó£¬ÕâÔÚÇ°ÃæÒѾ­½éÉÜ¡£ËùÓÐtypeof·µ»Ø¡°function¡±µÄ¶ÔÏó¶¼ÊǺ¯Êý¶ÔÏó¡£Ò²³ÆÕâÑùµÄ¶ÔÏóΪ¹¹ÔìÆ÷£¨constructor£©£¬Òò¶ø£¬ËùÓеĹ¹ÔìÆ÷¶¼ÊǶÔÏ󣬵«²»ÊÇËùÓеĶÔÏó¶¼Êǹ¹ÔìÆ÷¡£

¡¡¡¡¼ÈÈ»º¯Êý±¾ÉíÒ²ÊÇÒ»¸ö¶ÔÏó£¬ËüÃǵÄÀàÐÍÊÇfunction£¬ÁªÏëµ½C++¡¢JavaµÈÃæÏò¶ÔÏóÓïÑÔµÄÀඨÒ壬¿ÉÒԲ²⵽FunctionÀàÐ͵Ä×÷ÓÃËùÔÚ£¬ÄǾÍÊÇ¿ÉÒÔ¸øº¯Êý¶ÔÏó±¾Éí¶¨ÒåһЩ·½·¨ºÍÊôÐÔ£¬½èÖúÓÚº¯ÊýµÄprototype¶ÔÏ󣬿ÉÒԺܷ½±ãµØÐ޸ĺÍÀ©³äFunctionÀàÐ͵Ķ¨Ò壬ÀýÈçÏÂÃæÀ©Õ¹Á˺¯ÊýÀàÐÍFunction£¬ÎªÆäÔö¼ÓÁËmethod1·½·¨£¬×÷ÓÃÊǵ¯³ö¶Ô»°¿òÏÔʾ"function"£º

Function.prototype.method1=function(){
      alert("function");
}
function func1(a,b,c){
      return a+b+c;
}
func1.method1();
func1.method1.method1();

¡¡¡¡×¢Òâ×îºóÒ»¸öÓï¾ä£ºfunc1.method1.mehotd1()£¬Ëüµ÷ÓÃÁËmethod1Õâ¸öº¯Êý¶ÔÏóµÄmethod1·½·¨¡£ËäÈ»¿´ÉÏÈ¥ÓеãÈÝÒ×»ìÏý£¬µ«×Ðϸ¹Û²ìÒ»ÏÂÓï·¨»¹ÊǺÜÃ÷È·µÄ£ºÕâÊÇÒ»¸öµÝ¹éµÄ¶¨Òå¡£ÒòΪmethod1±¾ÉíÒ²ÊÇÒ»¸öº¯Êý£¬ËùÒÔËüͬÑù¾ßÓк¯Êý¶ÔÏóµÄÊôÐԺͷ½·¨£¬ËùÓжÔFunctionÀàÐ͵ķ½·¨À©³ä¶¼¾ßÓÐÕâÑùµÄµÝ¹éÐÔÖÊ¡£

¡¡¡¡FunctionÊÇËùÓк¯Êý¶ÔÏóµÄ»ù´¡£¬¶øObjectÔòÊÇËùÓжÔÏ󣨰üÀ¨º¯Êý¶ÔÏ󣩵Ļù´¡¡£ÔÚJavaScriptÖУ¬ÈκÎÒ»¸ö¶ÔÏó¶¼ÊÇObjectµÄʵÀý£¬Òò´Ë£¬¿ÉÒÔÐÞ¸ÄObjectÕâ¸öÀàÐÍÀ´ÈÃËùÓеĶÔÏó¾ßÓÐһЩͨÓõÄÊôÐԺͷ½·¨£¬ÐÞ¸ÄObjectÀàÐÍÊÇͨ¹ýprototypeÀ´Íê³ÉµÄ£º

Object.prototype.getType=function(){
       return typeof(this);
}
var array1=new Array();
function func1(a,b){
      return a+b;
}
alert(array1.getType());
alert(func1.getType());

¡¡¡¡ÉÏÃæµÄ´úÂëΪËùÓеĶÔÏóÌí¼ÓÁËgetType·½·¨£¬×÷ÓÃÊÇ·µ»Ø¸Ã¶ÔÏóµÄÀàÐÍ¡£Á½ÌõalertÓï¾ä·Ö±ð»áÏÔʾ¡°object¡±ºÍ¡°function¡±¡£

¡¡¡¡½«º¯Êý×÷Ϊ²ÎÊý´«µÝ

¡¡¡¡ÔÚÇ°ÃæÒѾ­½éÉÜÁ˺¯Êý¶ÔÏó±¾ÖÊ£¬Ã¿¸öº¯Êý¶¼±»±íʾΪһ¸öÌØÊâµÄ¶ÔÏ󣬿ÉÒÔ·½±ãµÄ½«Æ丳ֵ¸øÒ»¸ö±äÁ¿£¬ÔÙͨ¹ýÕâ¸ö±äÁ¿Ãû½øÐк¯Êýµ÷Óá£×÷Ϊһ¸ö±äÁ¿£¬Ëü¿ÉÒÔÒÔ²ÎÊýµÄÐÎʽ´«µÝ¸øÁíÒ»¸öº¯Êý£¬ÕâÔÚÇ°Ãæ½éÉÜJavaScriptʼþ´¦Àí»úÖÆÖÐÒѾ­¿´µ½¹ýÕâÑùµÄÓ÷¨£¬ÀýÈçÏÂÃæµÄ³ÌÐò½«func1×÷Ϊ²ÎÊý´«µÝ¸øfunc2£º

function func1(theFunc){
      theFunc();
}
function func2(){
      alert("ok");
}
func1(func2);

¡¡¡¡ÔÚ×îºóÒ»ÌõÓï¾äÖУ¬func2×÷Ϊһ¸ö¶ÔÏ󴫵ݸøÁËfunc1µÄÐβÎtheFunc£¬ÔÙÓÉfunc1ÄÚ²¿½øÐÐtheFuncµÄµ÷Óá£ÊÂʵÉÏ£¬½«º¯Êý×÷Ϊ²ÎÊý´«µÝ£¬»òÕßÊǽ«º¯Êý¸³Öµ¸øÆäËû±äÁ¿ÊÇËùÓÐʼþ»úÖƵĻù´¡¡£

¡¡¡¡ÀýÈ磬Èç¹ûÐèÒªÔÚÒ³ÃæÔØÈëʱ½øÐÐһЩ³õʼ»¯¹¤×÷£¬¿ÉÒÔÏȶ¨ÒåÒ»¸öinitµÄ³õʼ»¯º¯Êý£¬ÔÙͨ¹ýwindow.onload=init;Óï¾ä½«Æä°ó¶¨µ½Ò³ÃæÔØÈëÍê³ÉµÄʼþ¡£ÕâÀïµÄinit¾ÍÊÇÒ»¸öº¯Êý¶ÔÏó£¬Ëü¿ÉÒÔ¼ÓÈëwindowµÄonloadʼþÁÐ±í¡£

¡¡¡¡´«µÝ¸øº¯ÊýµÄÒþº¬²ÎÊý£ºarguments

¡¡¡¡µ±½øÐк¯Êýµ÷ÓÃʱ£¬³ýÁËÖ¸¶¨µÄ²ÎÊýÍ⣬»¹´´½¨Ò»¸öÒþº¬µÄ¶ÔÏ󡪡ªarguments¡£argumentsÊÇÒ»¸öÀàËÆÊý×鵫²»ÊÇÊý×éµÄ¶ÔÏó£¬ËµËüÀàËÆÊÇÒòΪËü¾ßÓÐÊý×éÒ»ÑùµÄ·ÃÎÊÐÔÖÊ£¬¿ÉÒÔÓÃarguments[index]ÕâÑùµÄÓ﷨ȡֵ£¬ÓµÓÐÊý×鳤¶ÈÊôÐÔlength¡£arguments¶ÔÏó´æ´¢µÄÊÇʵ¼Ê´«µÝ¸øº¯ÊýµÄ²ÎÊý£¬¶ø²»¾ÖÏÞÓÚº¯ÊýÉùÃ÷Ëù¶¨ÒåµÄ²ÎÊýÁÐ±í£¬ÀýÈ磺

function func(a,b){
     alert(a);
     alert(b);
     for(var i=0;i<arguments.length;i++){
           alert(arguments[i]);
     }
}
func(1,2,3);

¡¡¡¡´úÂëÔËÐÐʱ»áÒÀ´ÎÏÔʾ£º1£¬2£¬1£¬2£¬3¡£Òò´Ë£¬ÔÚ¶¨Ò庯ÊýµÄʱºò£¬¼´Ê¹²»Ö¸¶¨²ÎÊýÁÐ±í£¬ÈÔÈ»¿ÉÒÔͨ¹ýargumentsÒýÓõ½Ëù»ñµÃµÄ²ÎÊý£¬Õâ¸ø±à³Ì´øÀ´Á˺ܴóµÄÁé»îÐÔ¡£arguments¶ÔÏóµÄÁíÒ»¸öÊôÐÔÊÇcallee£¬Ëü±íʾ¶Ôº¯Êý¶ÔÏó±¾ÉíµÄÒýÓã¬ÕâÓÐÀûÓÚʵÏÖÎÞÃûº¯ÊýµÄµÝ¹é»òÕß±£Ö¤º¯ÊýµÄ·â×°ÐÔ£¬ÀýÈçʹÓõݹéÀ´¼ÆËã1µ½nµÄ×ÔÈ»ÊýÖ®ºÍ£º

var sum=function(n){
      if(1==n)return 1;
      else return n+sum(n-1);
}
alert(sum(100));

¡¡¡¡ÆäÖк¯ÊýÄÚ²¿°üº¬Á˶Ôsum×ÔÉíµÄµ÷Óã¬È»¶ø¶ÔÓÚJavaScriptÀ´Ëµ£¬º¯ÊýÃû½ö½öÊÇÒ»¸ö±äÁ¿Ãû£¬ÔÚº¯ÊýÄÚ²¿µ÷ÓÃsum¼´Ï൱ÓÚµ÷ÓÃÒ»¸öÈ«¾Ö±äÁ¿£¬²»ÄܺܺõÄÌåÏÖ³öÊǵ÷ÓÃ×ÔÉí£¬ËùÒÔʹÓÃarguments.calleeÊôÐÔ»áÊÇÒ»¸ö½ÏºÃµÄ°ì·¨£º

var sum=function(n){
      if(1==n)return 1;
      else return n+arguments.callee(n-1);
}
alert(sum(100));

¡¡¡¡calleeÊôÐÔ²¢²»ÊÇarguments²»Í¬ÓÚÊý×é¶ÔÏóµÄΩһÌØÕ÷£¬ÏÂÃæµÄ´úÂë˵Ã÷ÁËarguments²»ÊÇÓÉArrayÀàÐÍ´´½¨£º

Array.prototype.p1=1;
alert(new Array().p1);
function func(){
       alert(arguments.p1);
}
func();

¡¡¡¡ÔËÐдúÂë¿ÉÒÔ·¢ÏÖ£¬µÚÒ»¸öalertÓï¾äÏÔʾΪ1£¬¼´±íʾÊý×é¶ÔÏóÓµÓÐÊôÐÔp1£¬¶øfuncµ÷ÓÃÔòÏÔʾΪ¡°undefined¡±£¬¼´p1²»ÊÇargumentsµÄÊôÐÔ£¬Óɴ˿ɼû£¬arguments²¢²»ÊÇÒ»¸öÊý×é¶ÔÏó¡£

¡¡¡¡º¯ÊýµÄapply¡¢call·½·¨ºÍlengthÊôÐÔ

¡¡¡¡JavaScriptΪº¯Êý¶ÔÏó¶¨ÒåÁËÁ½¸ö·½·¨£ºapplyºÍcall£¬ËüÃǵÄ×÷Óö¼Êǽ«º¯Êý°ó¶¨µ½ÁíÍâÒ»¸ö¶ÔÏóÉÏÈ¥ÔËÐУ¬Á½Õß½öÔÚ¶¨Òå²ÎÊýµÄ·½Ê½ÓÐËùÇø±ð£º

Function.prototype.apply(thisArg,argArray);
Function.prototype.call(thisArg[,arg1[,arg2¡­]]);

¡¡¡¡´Óº¯ÊýÔ­ÐÍ¿ÉÒÔ¿´µ½£¬µÚÒ»¸ö²ÎÊý¶¼±»È¡ÃûΪthisArg£¬¼´ËùÓк¯ÊýÄÚ²¿µÄthisÖ¸Õ붼»á±»¸³ÖµÎªthisArg£¬Õâ¾ÍʵÏÖÁ˽«º¯Êý×÷ΪÁíÍâÒ»¸ö¶ÔÏóµÄ·½·¨ÔËÐеÄÄ¿µÄ¡£Á½¸ö·½·¨³ýÁËthisArg²ÎÊý£¬¶¼ÊÇΪFunction¶ÔÏ󴫵ݵIJÎÊý¡£ÏÂÃæµÄ´úÂë˵Ã÷ÁËapplyºÍcall·½·¨µÄ¹¤×÷·½Ê½£º

//¶¨ÒåÒ»¸öº¯Êýfunc1£¬¾ßÓÐÊôÐÔpºÍ·½·¨A
function func1(){
      this.p="func1-";
      this.A=function(arg){
            alert(this.p+arg);
      }
}
//¶¨ÒåÒ»¸öº¯Êýfunc2£¬¾ßÓÐÊôÐÔpºÍ·½·¨B
function func2(){
      this.p="func2-";
      this.B=function(arg){
             alert(this.p+arg);
      }
}
var obj1=new func1();
var obj2=new func2();
obj1.A("byA");    //ÏÔʾfunc1-byA
obj2.B("byB");    //ÏÔʾfunc2-byB
obj1.A.apply(obj2,["byA"]); //ÏÔʾfunc2-byA£¬ÆäÖÐ[¡°byA¡±]ÊǽöÓÐÒ»¸öÔªËصÄÊý×飬ÏÂͬ
obj2.B.apply(obj1,["byB"]); //ÏÔʾfunc1-byB
obj1.A.call(obj2,"byA");  //ÏÔʾfunc2-byA
obj2.B.call(obj1,"byB");  //ÏÔʾfunc1-byB

¡¡¡¡¿ÉÒÔ¿´³ö£¬obj1µÄ·½·¨A±»°ó¶¨µ½obj2ÔËÐкó£¬Õû¸öº¯ÊýAµÄÔËÐл·¾³¾ÍתÒƵ½ÁËobj2£¬¼´thisÖ¸ÕëÖ¸ÏòÁËobj2¡£Í¬Ñùobj2µÄº¯ÊýBÒ²¿ÉÒ԰󶨵½obj1¶ÔÏóÈ¥ÔËÐС£´úÂëµÄ×îºó4ÐÐÏÔʾÁËapplyºÍcallº¯Êý²ÎÊýÐÎʽµÄÇø±ð¡£

¡¡¡¡ÓëargumentsµÄlengthÊôÐÔ²»Í¬£¬º¯Êý¶ÔÏó»¹ÓÐÒ»¸öÊôÐÔlength£¬Ëü±íʾº¯Êý¶¨ÒåʱËùÖ¸¶¨²ÎÊýµÄ¸öÊý£¬¶ø·Çµ÷ÓÃʱʵ¼Ê´«µÝµÄ²ÎÊý¸öÊý¡£ÀýÈçÏÂÃæµÄ´úÂ뽫ÏÔʾ2£º

function sum(a,b){
      return a+b;
}
alert(sum.length);

¡¡¡¡ÉîÈëÈÏʶJavaScriptÖеÄthisÖ¸Õë

¡¡¡¡thisÖ¸ÕëÊÇÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÖеÄÒ»ÏîÖØÒª¸ÅÄËü±íʾµ±Ç°ÔËÐеĶÔÏó¡£ÔÚʵÏÖ¶ÔÏóµÄ·½·¨Ê±£¬¿ÉÒÔʹÓÃthisÖ¸ÕëÀ´»ñµÃ¸Ã¶ÔÏó×ÔÉíµÄÒýÓá£

¡¡¡¡ºÍÆäËûÃæÏò¶ÔÏóµÄÓïÑÔ²»Í¬£¬JavaScriptÖеÄthisÖ¸ÕëÊÇÒ»¸ö¶¯Ì¬µÄ±äÁ¿£¬Ò»¸ö·½·¨ÄÚµÄthisÖ¸Õë²¢²»ÊÇʼÖÕÖ¸Ïò¶¨Òå¸Ã·½·¨µÄ¶ÔÏóµÄ£¬ÔÚÉÏÒ»½Ú½²º¯ÊýµÄapplyºÍcall·½·¨Ê±ÒѾ­ÓйýÕâÑùµÄÀý×Ó¡£ÎªÁË·½±ãÀí½â£¬ÔÙÀ´¿´ÏÂÃæµÄÀý×Ó£º

<script language="JavaScript" type="text/javascript">
<!--
//´´½¨Á½¸ö¿Õ¶ÔÏó
var obj1=new Object();
var obj2=new Object();
//¸øÁ½¸ö¶ÔÏó¶¼Ìí¼ÓÊôÐÔp£¬²¢·Ö±ðµÈÓÚ1ºÍ2
obj1.p=1;
obj2.p=2;
//¸øobj1Ìí¼Ó·½·¨£¬ÓÃÓÚÏÔʾpµÄÖµ
obj1.getP=function(){
      alert(this.p); //±íÃæÉÏthisÖ¸ÕëÖ¸ÏòµÄÊÇobj1
}
//µ÷ÓÃobj1µÄgetP·½·¨
obj1.getP();
//ʹobj2µÄgetP·½·¨µÈÓÚobj1µÄgetP·½·¨
obj2.getP=obj1.getP;
//µ÷ÓÃobj2µÄgetP·½·¨
obj2.getP();
//-->
</script>

¡¡¡¡´Ó´úÂëµÄÖ´Ðнá¹û¿´£¬·Ö±ðµ¯³ö¶Ô»°¿òÏÔʾ1ºÍ2¡£Óɴ˿ɼû£¬getPº¯Êý½ö¶¨ÒåÁËÒ»´Î£¬ÔÚ²»Í¬µÄ³¡ºÏÔËÐУ¬ÏÔʾÁ˲»Í¬µÄÔËÐнá¹û£¬ÕâÊÇÓÐthisÖ¸ÕëµÄ±ä»¯Ëù¾ö¶¨µÄ¡£ÔÚobj1µÄgetP·½·¨ÖУ¬this¾ÍÖ¸ÏòÁËobj1¶ÔÏ󣬶øÔÚobj2µÄgetP·½·¨ÖУ¬this¾ÍÖ¸ÏòÁËobj2¶ÔÏ󣬲¢Í¨¹ýthisÖ¸ÕëÒýÓõ½ÁËÁ½¸ö¶ÔÏ󶼾ßÓеÄÊôÐÔp¡£

¡¡¡¡Óɴ˿ɼû£¬JavaScriptÖеÄthisÖ¸ÕëÊÇÒ»¸ö¶¯Ì¬±ä»¯µÄ±äÁ¿£¬Ëü±íÃ÷Á˵±Ç°ÔËÐиú¯ÊýµÄ¶ÔÏó¡£ÓÉthisÖ¸ÕëµÄÐÔÖÊ£¬Ò²¿ÉÒÔ¸üºÃµÄÀí½âJavaScriptÖжÔÏóµÄ±¾ÖÊ£ºÒ»¸ö¶ÔÏó¾ÍÊÇÓÉÒ»¸ö»ò¶à¸öÊôÐÔ£¨·½·¨£©×é³ÉµÄ¼¯ºÏ¡£Ã¿¸ö¼¯ºÏÔªËز»ÊǽöÄÜÊôÓÚÒ»¸ö¼¯ºÏ£¬¶øÊÇ¿ÉÒÔ¶¯Ì¬µÄÊôÓÚ¶à¸ö¼¯ºÏ¡£ÕâÑù£¬Ò»¸ö·½·¨£¨¼¯ºÏÔªËØ£©ÓÉË­µ÷Óã¬thisÖ¸Õë¾ÍÖ¸ÏòË­¡£Êµ¼ÊÉÏ£¬Ç°Ãæ½éÉܵÄapply·½·¨ºÍcall·½·¨¶¼ÊÇͨ¹ýÇ¿ÖƸıäthisÖ¸ÕëµÄÖµÀ´ÊµÏֵģ¬Ê¹thisÖ¸ÕëÖ¸Ïò²ÎÊýËùÖ¸¶¨µÄ¶ÔÏ󣬴Ӷø´ïµ½½«Ò»¸ö¶ÔÏóµÄ·½·¨×÷ΪÁíÒ»¸ö¶ÔÏóµÄ·½·¨ÔËÐС£

¡¡¡¡Ã¿¸ö¶ÔÏ󼯺ϵÄÔªËØ£¨¼´ÊôÐÔ»ò·½·¨£©Ò²ÊÇÒ»¸ö¶ÀÁ¢µÄ²¿·Ö£¬È«¾Öº¯ÊýºÍ×÷Ϊһ¸ö¶ÔÏó·½·¨¶¨ÒåµÄº¯ÊýÖ®¼äûÓÐÈκÎÇø±ð£¬ÒòΪ¿ÉÒÔ°ÑÈ«¾Öº¯ÊýºÍ±äÁ¿¿´×÷Ϊwindow¶ÔÏóµÄ·½·¨ºÍÊôÐÔ¡£Ò²¿ÉÒÔʹÓÃnew²Ù×÷·ûÀ´²Ù×÷Ò»¸ö¶ÔÏóµÄ·½·¨À´·µ»ØÒ»¸ö¶ÔÏó£¬ÕâÑùÒ»¸ö¶ÔÏóµÄ·½·¨Ò²¾Í¿ÉÒÔ¶¨ÒåΪÀàµÄÐÎʽ£¬ÆäÖеÄthisÖ¸ÕëÔò»áÖ¸Ïòд´½¨µÄ¶ÔÏó¡£ÔÚºóÃæ¿ÉÒÔ¿´µ½£¬Õâʱ¶ÔÏóÃû¿ÉÒÔÆðµ½Ò»¸öÃüÃû¿Õ¼äµÄ×÷Óã¬ÕâÊÇʹÓÃJavaScript½øÐÐÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄÒ»¸ö¼¼ÇÉ¡£ÀýÈ磺

var namespace1=new Object();
namespace1.class1=function(){
     //³õʼ»¯¶ÔÏóµÄ´úÂë
}
var obj1=new namespace1.class1();

¡¡¡¡ÕâÀï¾Í¿ÉÒÔ°Ñnamespace1¿´³ÉÒ»¸öÃüÃû¿Õ¼ä¡£

¡¡¡¡ÓÉÓÚ¶ÔÏóÊôÐÔ£¨·½·¨£©µÄ¶¯Ì¬±ä»¯ÌØÐÔ£¬Ò»¸ö¶ÔÏóµÄÁ½¸öÊôÐÔ£¨·½·¨£©Ö®¼äµÄ»¥ÏàÒýÓ㬱ØÐëҪͨ¹ýthisÖ¸Õ룬¶øÆäËûÓïÑÔÖУ¬this¹Ø¼ü×ÖÊÇ¿ÉÒÔÊ¡ÂԵġ£ÈçÉÏÃæµÄÀý×ÓÖУº

obj1.getP=function(){
      alert(this.p); //±íÃæÉÏthisÖ¸ÕëÖ¸ÏòµÄÊÇobj1
}

¡¡¡¡ÕâÀïµÄthis¹Ø¼ü×ÖÊDz»¿ÉÊ¡ÂԵģ¬¼´²»ÄÜд³Éalert(p)µÄÐÎʽ¡£Õ⽫ʹµÃgetPº¯ÊýÈ¥ÒýÓÃÉÏÏÂÎÄ»·¾³ÖеÄp±äÁ¿£¬¶ø²»ÊÇobj1µÄÊôÐÔ¡£
    ºÚ¿Í·ÀÏßÍø°²·þÎñÆ÷ά»¤·½°¸±¾ÆªÁ¬½Ó£ºhttp://www.rongsen.com.cn/show-440-1.html
Íøվά»¤½Ì³Ì¸üÐÂʱ¼ä:2008-04-01 17:09:49  ¡¾´òÓ¡´ËÒ³¡¿  ¡¾¹Ø±Õ¡¿
ÎÒÒªÉêÇë±¾Õ¾£ºNµã | ºÚ¿Í·ÀÏß¹ÙÍø |  
רҵ·þÎñÆ÷ά»¤¼°Íøվά»¤ÊÖ¹¤°²È«´î½¨»·¾³£¬ÍøÕ¾°²È«¼Ó¹Ì·þÎñ¡£ºÚ¿Í·ÀÏßÍø°²·þÎñÆ÷ά»¤»ùµØÕÐÉ̽øÐÐÖУ¡QQ:29769479

footer  footer  footer  footer