JavaScriptÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(4): º¯Êý
ÔںܶàÓïÑÔÖУ¬º¯Êý(JavaÀïÃæ³ÉΪ·½·¨)ºÍ¶ÔÏóʱ½ØÈ»²»Í¬µÄÁ½ÖÖ¶«Î÷¡£º¯Êý±»¶¨ÒåΪ¶ÔÏóµÄ¶¯×÷£¬»òÕßÊÇÈ«¾ÖµÄ(ÏñÔÚC++ÖеÄmainº¯ÊýÒ»Ñù)¡£µ«ÊÇÔÚJavaScriptÖУ¬º¯ÊýºÍ¶ÔÏóµÄ½çÏÞÈ´ÏԵò»ÄÇôÃ÷ÏÔ¡£
1. º¯ÊýµÄ¶¨Òå
JavaScriptÖÐÓкܶàÖÖ¶¨Ò庯ÊýµÄ·½·¨£º
Js´úÂë
function hello() { alert("Hello!"); }
var hello1 = function() { alert("Hello!"); };
var hello2 = new Function("", "alert('Hello!');");
hello();
hello1();
hello2();
ÉÏÃæ¸ø³öÁËÈýÖÖJavaScriptµÄº¯Êý¶¨ÒåÓï¾ä¡£µÚÒ»¾äÊdz£¼ûµÄ¶¨Ò壬¿´ÉÏÈ¥ºÍJavaµÈÓïÑÔûÓÐÌ«´óµÄ²»Í¬¡£Õâ¾äÊǶ¨ÒåÁËÒ»¸ö¾ßÃûº¯Êý£¬°´ÕÕÉÏÃæµÄÀý×Ó£¬ÕâÀïµÄº¯Êý¶¨ÒåÃû×ÖΪhello¡£µÚ¶þ¾äÊǽ«Ò»¸öÄäÃûº¯Êý¶¨ÒåºÃºó¸³Öµ¸øÒ»¸ö±äÁ¿£¬ÓÚÊÇͨ¹ýÕâ¸ö±äÁ¿¾Í¿ÉÒÔÒýÓÃÕâ¸öÄäÃûº¯Êý¡£ÕâÁ½¾ä¿´ÉÏȥЧ¹û²î²»¶à£¬µ«ÊÇËüÃÇÊDz»Ò»ÑùµÄ£ºµÚÒ»¾ä¶¨ÒåµÄÊÇÒ»¸ö¾ßÃûº¯Êý£¬µÚ¶þ¾ä¶¨ÒåµÄÊÇÒ»¸öÄäÃûº¯Êý——¾¡¹ÜÄã¿ÉÒÔͨ¹ýÕâ¸ö±äÁ¿ÒýÓõ½Õâ¸öÄäÃûº¯Êý£¬µ«Êµ¼ÊÉÏËü»¹ÊÇÄäÃûµÄ¡£ËüÃǵÄÇø±ð¿ÉÒÔÓÉÏÂÃæµÄ¿´³ö£º
Js´úÂë
hello();
hello1(); // error
function hello() { alert("Hello!"); }
var hello1 = function() { alert("Hello!"); };
¾ßÃûº¯ÊýµÄ×÷Ó÷¶Î§ÊÇÈ«¾ÖµÄ£ºÄã¿ÉÒÔÔÚ¶¨Òå֮ǰʹÓÃÕâ¸öº¯Êý¡£µ«ÊÇÄäÃûº¯ÊýµÄ¶¨ÒåÊǺóÏòµÄ£¬ÏñC/C++Ò»Ñù£¬±ØÐëÔÚ¶¨ÒåÖ®ºó²ÅÄÜʹÓá£Õâ¾ÍÊÇΪʲôhello¿ÉÒÔʹÓ㬵«ÊÇhello1¾Í»áÓдíÎó¡£È»ºóÊÔÏëÒ»ÏÂÕâÊÇÎªÊ²Ã´ÄØ£¿JavaScriptµÄ½âÊ͹ý³ÌºÍHTMLÒ»ÑùÊÇ´ÓÉϵ½Ïµġ£ËùÒÔ£¬ÕâÀïµÄÄäÃûº¯Êý¾ÍÏ൱ÓÚÊÇÒ»¸ö±äÁ¿µÄ¶¨Ò壬Òò´ËÔÚJavaScript½âÊÍÆ÷½âÊÍÖ´ÐÐʱ²¢²»ÖªµÀÕâ¸ö±äÁ¿µÄ¶¨Ò壬Òò´Ë·¢Éú´íÎó¡£µ«ÊÇ£¬¶ÔÓÚº¯ÊýµÄ¶¨ÒåÔòÊÇɨÃèÈ«¾Ö¡£
µÚÈý¸öÓï¾ä¾ÍºÜÓÐÒâ˼ÁË¡£Ëü´´½¨ÁËÒ»¸öFunctionÀàµÄ¶ÔÏó¡£Õâ¸ö¹¹Ô캯Êý(¹ÃÇÒÕâô½Ð°É)¾ßÓÐÁ½¸ö²ÎÊý£¬µÚÒ»¸öÊǺ¯ÊýµÄ²ÎÊý£¬µÚ¶þ¸öÊǺ¯ÊýÌå¡£¾ßÌåÀ´Ëµ£¬ÏÂÃæµÄÁ½¸öº¯Êý¶¨ÒåÊǵȼ۵ģº
Js´úÂë
function sayHelloTo(name) {
alert("Hello, " + name);
}
var sayHelloTo1 = new Function("name", "alert('Hello, ' + name)");
ÕâÖÖʹÓÃFunction½øÐж¨ÒåµÄ·½Ê½²¢²»³£¼û£¬µ«ÊÇÕâ¸öÓï¾äÏÔʾµÄÌØÐÔÈ´ºÜÓÐȤ£ºËüÒâζ×Å£¬Äã¿ÉÒÔʹÓÃÕâÖÖ¹¹Ô캯ÊýÔÚÔËÐÐʱ¶¯Ì¬µÄ¹¹Ô캯Êý£¡ÕâÊÇÒ»°ãµÄÓïÑÔûÓеÄÌØÐÔ¡£
2. º¯ÊýµÄ²ÎÊý
JavaScriptµÄº¯ÊýÒ²ÊÇÏ൱µÄÁé»î£¬²»½öÊÇËüµÄ¶¨Ò巽ʽ¶àÖÖ¶àÑù£¬ÉõÖÁËüµÄ²ÎÊý¶¼ÓÐ“Ææ¹Ö”µÄÐÐΪ¡£ÓÉÓÚJavaScriptÊÇÈõÀà
Ïà¹ØÎĵµ£º
ºÜ¶àÈ˶¼²»Ô¸Òâдjavascript´úÂ룬ÎÒ¾õµÃÖ÷ÒªÔÒòÔÚÓÚjavascript´úÂë±È½ÏÁãË飬ɿ¼°µÄÖªÊ¶Ãæ±È½Ï¹ã£¬ÒªÐ´ºÃjavascript´úÂ룬¾Í²»µÃ²»Á˽âhtml£¬cssµÈ£¬ËùÒÔҪѧºÃjavascript²¢²»ÊÇÒ»¼þÈÝÒ×µÄÊ¡£Èç¹ûÒªÊÇÓбȽϺõĿª·¢¹¤¾ßµÄ»°£¬ÏàÐÅ´ó¼ÒѧÆðÀ´»á¼òµ¥Ò»Ð©¡£ÏÂÃæ¸ø´ó¼Ò½éÉÜһЩѧϰjavascriptµÄ¹¤¾ß£º
1¡¢ÈçºÎ¿ìËÙ¿´ ......
javascriptС¼¼ÇÉ
ʼþÔ´¶ÔÏó
event.srcElement.tagName
event.srcElement.type
²¶»ñÊÍ·Å
event.srcElement.setCapture();
event.srcElement.releaseCapture();
ʼþ°´¼ü
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey
ʼþ·µ»ØÖµ
event.returnValue
Êó±êλÖÃ
event ......
ÍøÉϺܶàÎÄÕ¶¼×ªÔØÁËÒ»¶Î»°£º¶ÔÓÚº¯ÊýÀ´Ëµ£¬caller ÊôÐÔÖ»ÓÐÔÚº¯ÊýÖ´ÐÐʱ²ÅÓж¨Òå¡£
µ½µ×ÊDz»ÊÇÄØ£¿¿ÉÒÔÓÃÏÂÃæÕâ¶Î´úÂë²âÊÔһϣ¨Õâ¶ÎÀý×ÓÒ²ÊÇ×ªÔØÎÄÕÂÖÐʹÓõģ©£º
function callerDemo() {
if (callerDemo.caller) {
var a= callerDemo.caller.toString();
alert(a);
} else {
......
±¾²©¿Í×ªÔØÓÚ£ºhttp://devbean.javaeye.com/blog/404056
1. ¶ÔÏó
¶ÔÏóÊÇÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù´¡¸ÅÄîÖ®Ò»£¬Ö»Ðè¿´¿´Õâ¸öÃû×Ö¾ÍÒѾ֪µÀÁË¡£ÔÚÎÒÃÇÊìϤµÄÃæÏò¶ÔÏóÓïÑÔÖУ¬±ÈÈçJava»òÕßC++£¬¶¼ÓÐ×ÅÀàËÆµÄ¶ÔÏó¶¨Òå·½·¨¡£±ÈÈ磬ÎÒÃÇÏ붨ÒåÒ»¸öÀ࣬Ãû×Ö½ÐPerson£¬ÓÐÁ½¸öÊôÐÔ£ºnameºÍage£¬ÁíÍâÓÐÒ»¸ö·½·¨£¬½«ÏÔʾ³ ......