JavaScript º¯Êýµ÷ÓÃ
JavaScript º¯ÊýÄÚ²¿µÄ´úÂë»áÔÚ¡°Ä³Îµ÷ÓÃËüʱִÐС£
µ÷Óà JavaScript º¯Êý
ÔÚº¯Êý±»¶¨Òåʱ£¬º¯ÊýÄÚ²¿µÄ´úÂë²»»áÖ´ÐС£
ÔÚº¯Êý±»µ÷ÓÃʱ£¬º¯ÊýÄÚ²¿µÄ´úÂë»á±»Ö´ÐС£
µ÷Óú¯Êýͨ³£Ò²¿ÉÒÔ˵¡°Æô¶¯º¯Êý¡±»ò¡°Ö´Ðк¯Êý¡±¡£
ÔÚ±¾½Ì³ÌÖУ¬ÎÒÃÇʹÓá°µ÷Óᱡ£
ÒÔº¯ÊýÐÎʽµ÷Óú¯Êý
ʵÀý
function myFunction(a, b) {
return a * b;
}
myFunction(10, 2); // ½«·µ»Ø 20
ÒÔÉϺ¯Êý²»ÊôÓÚÈκζÔÏó¡£µ«ÊÇÔÚ JavaScript ÖУ¬Ê¼ÖÕ´æÔÚÒ»ÖÖĬÈϵÄÈ«¾Ö¶ÔÏó¡£
ÔÚ HTML ÖУ¬Ä¬ÈÏÈ«¾Ö¶ÔÏóÊÇ HTML Ò³Ãæ±¾Éí£¬ËùÓÐÉÏÃæµÄº¯Êý¡°ÊôÓÚ¡±HTML Ò³Ãæ¡£
ÔÚä¯ÀÀÆ÷ÖУ¬Õâ¸öÒ³Ãæ¶ÔÏó¾ÍÊÇä¯ÀÀÆ÷´°¿Ú¡£ÉÏÃæµÄº¯Êý×Ô¶¯³ÉΪһ¸ö´°¿Úº¯Êý¡£
myFunction() ºÍ window.myFunction() ÊÇͬһ¸öº¯Êý£º
ʵÀý
function myFunction(a, b) {
return a * b;
}
window.myFunction(10, 2); // Ò²»á·µ»Ø 20
ÕâÊǵ÷Óú¯ÊýµÄ³£¼û·½·¨£¬µ«²¢²»ÊÇÒ»¸öºÃϰ¹ß¡£
È«¾Ö±äÁ¿¡¢·½·¨»òº¯ÊýºÜÈÝÒ×ÔÚÈ«¾Ö¶ÔÏóÖвúÉúÃüÃû³åÍ»ºÍ©¶´¡£
this ¹Ø¼ü´Ê
ÔÚ JavaScript ÖУ¬±»³ÆÎª this µÄÊÂÎָµÄÊÇ¡°ÓµÓС±µ±Ç°´úÂëµÄ¶ÔÏó¡£
this µÄÖµ£¬ÔÚº¯ÊýÖÐʹÓÃʱ£¬ÊÇ¡°ÓµÓС±¸Ãº¯ÊýµÄ¶ÔÏó¡£
Çë×¢Òâ this ²¢²»ÊDZäÁ¿¡£ËüÊôÓڹؼü´Ê¡£ÄúÎÞ·¨¸Ä±ä this µÄÖµ¡£
È«¾Ö¶ÔÏó
µ±²»´øÓµÓÐÕß¶ÔÏóµ÷ÓöÔÏóʱ£¬this µÄÖµ³ÉΪȫ¾Ö¶ÔÏó¡£
ÔÚ web ä¯ÀÀÆ÷ÖУ¬È«¾Ö¶ÔÏó¾ÍÊÇä¯ÀÀÆ÷¶ÔÏó¡£
±¾ÀýÒÔ this µÄÖµ·µ»ØÕâ¸ö window ¶ÔÏó£º
ʵÀý
var x = myFunction(); // x ½«³ÉΪ window ¶ÔÏó
function myFunction() {
return this;
}
µ÷ÓÃÒ»¸öº¯Êý×÷Ϊһ¸öÈ«¾Öº¯Êý£¬»áµ¼Ö this µÄÖµ³ÉΪȫ¾Ö¶ÔÏó¡£
×÷Ϊ±äÁ¿À´Ê¹Óà window ¶ÔÏóºÜÈÝÒ×ʹ³ÌÐò±ÀÀ£¡£
×÷Ϊ·½·¨À´µ÷Óú¯Êý
ÔÚ JavaScript ÖУ¬Äú¿ÉÒ԰Ѻ¯Êý¶¨ÒåΪ¶ÔÏó·½·¨¡£
ÏÂÃæµÄÀý×Ó´´½¨ÁËÒ»¸ö¶ÔÏó£¨myObject£©£¬´øÓÐÁ½¸öÊôÐÔ£¨firstName ºÍ lastName£©£¬ÒÔ¼°Ò»¸ö·½·¨£¨fullName£©£º
ʵÀý
var myObject = {
firstName:"Bill",
lastName: "Gates",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
myObject.fullName(); // ½«·µ»Ø "Bill Gates"
fullName ·½·¨ÊÇÒ»¸öº¯Êý¡£¸Ãº¯ÊýÊôÓÚ¶ÔÏó¡£myObject ÊǺ¯ÊýµÄÓµÓÐÕß¡£
±»³ÆÎª this µÄÊÂÎÊÇ¡°ÓµÓС±Õâ¶Î JavaScript ´úÂëµÄ¶ÔÏó¡£ÔÚ´ËÀýÖУ¬this µÄÖµÊÇ myObject¡£
²âÊÔһϣ¡ÐÞ¸ÄÕâ¸ö fullName ·½·¨À´·µ»Ø this µÄÖµ£º
ʵÀý
var myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this;
}
}
myObject.fullName(); // ½«·µ»Ø [object Object]£¨ÓµÓÐÕß¶ÔÏó£©
ÒÔ¶ÔÏó·½·¨À´µ÷Óú¯Êý£¬»áµ¼Ö this µÄÖµ³ÉΪ¶ÔÏó±¾Éí¡£
ͨ¹ýº¯Êý¹¹ÔìÆ÷À´µ÷Óú¯Êý
Èç¹ûº¯Êýµ÷ÓõÄÇ°ÃæÊÇ new ¹Ø¼ü×Ö£¬ÄÇôÕâÊÇÒ»¸ö¹¹Ô캯Êýµ÷Óá£
Ëü¿´ÆðÀ´ÏñÄã´´½¨Ò»¸öеĺ¯Êý£¬µ«ÓÉÓÚ JavaScript º¯ÊýÊǶÔÏó£¬Äãʵ¼ÊÉÏ´´½¨Ò»¸öжÔÏó£º
ʵÀý
// ÕâÊǺ¯Êý¹¹ÔìÆ÷£º function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } // ´´½¨ÁËÒ»¸öжÔÏó£º var x = new myFunction("Bill", "Gates"); x.firstName; // »á·µ»Ø "Bill"
¹¹ÔìÆ÷µ÷Óûᴴ½¨Ð¶ÔÏó¡£Ð¶ÔÏó»á´ÓÆä¹¹ÔìÆ÷¼Ì³ÐÊôÐԺͷ½·¨¡£
¹¹ÔìÆ÷ÄÚµÄ this ¹Ø¼ü´ÊûÓÐÖµ¡£
this µÄÖµ»á³ÉΪµ÷Óú¯Êýʱ´´½¨µÄжÔÏó¡£