ECMAScript ¶ÔÏó×÷ÓÃÓò
×÷ÓÃÓòÖ¸µÄÊDZäÁ¿µÄÊÊÓ÷¶Î§¡£
¹«Óá¢Ë½ÓкÍÊܱ£»¤×÷ÓÃÓò
¸ÅÄî
ÔÚ´«Í³µÄÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÖУ¬Ö÷Òª¹Ø×¢ÓÚ¹«ÓúÍ˽ÓÐ×÷ÓÃÓò¡£¹«ÓÃ×÷ÓÃÓòÖеĶÔÏóÊôÐÔ¿ÉÒÔ´Ó¶ÔÏóÍⲿ·ÃÎÊ£¬¼´¿ª·¢Õß´´½¨¶ÔÏóµÄʵÀýºó£¬¾Í¿ÉʹÓÃËüµÄ¹«ÓÃÊôÐÔ¡£¶øË½ÓÐ×÷ÓÃÓòÖеÄÊôÐÔÖ»ÄÜÔÚ¶ÔÏóÄÚ²¿·ÃÎÊ£¬¼´¶ÔÓÚÍⲿÊÀ½çÀ´Ëµ£¬ÕâЩÊôÐÔ²¢²»´æÔÚ¡£ÕâÒâζ×ÅÈç¹ûÀඨÒåÁË˽ÓÐÊôÐԺͷ½·¨£¬ÔòËüµÄ×ÓÀàÒ²²»ÄÜ·ÃÎÊÕâЩÊôÐԺͷ½·¨¡£
Êܱ£»¤×÷ÓÃÓòÒ²ÊÇÓÃÓÚ¶¨Òå˽ÓеÄÊôÐԺͷ½·¨£¬Ö»ÊÇÕâЩÊôÐԺͷ½·¨»¹Äܱ»Æä×ÓÀà·ÃÎÊ¡£
ECMAScript Ö»Óй«ÓÃ×÷ÓÃÓò
¶Ô ECMAScript ÌÖÂÛÉÏÃæÕâЩ×÷ÓÃÓò¼¸ºõºÁÎÞÒâÒ壬ÒòΪ ECMAScript ÖÐÖ»´æÔÚÒ»ÖÖ×÷ÓÃÓò - ¹«ÓÃ×÷ÓÃÓò¡£ECMAScript ÖеÄËùÓжÔÏóµÄËùÓÐÊôÐԺͷ½·¨¶¼Êǹ«Óõġ£Òò´Ë£¬¶¨Òå×Ô¼ºµÄÀàºÍ¶ÔÏóʱ£¬±ØÐë¸ñÍâСÐÄ¡£¼Çס£¬ËùÓÐÊôÐԺͷ½·¨Ä¬È϶¼Êǹ«Óõģ¡
½¨ÒéÐԵĽâ¾ö·½·¨
Ðí¶à¿ª·¢Õß¶¼ÔÚÍøÉÏÌá³öÁËÓÐЧµÄÊôÐÔ×÷ÓÃÓòģʽ£¬½â¾öÁË ECMAScript µÄÕâÖÖÎÊÌâ¡£
ÓÉÓÚȱÉÙ˽ÓÐ×÷ÓÃÓò£¬¿ª·¢ÕßÈ·¶¨ÁËÒ»¸ö¹æÔ¼£¬ËµÃ÷ÄÄЩÊôÐԺͷ½·¨Ó¦¸Ã±»¿´×ö˽Óеġ£ÕâÖÖ¹æÔ¼¹æ¶¨ÔÚÊôÐÔǰºó¼ÓÏ»®Ïߣº
obj._color_ = "blue";
Õâ¶Î´úÂëÖУ¬ÊôÐÔ color ÊÇ˽Óеġ£×¢Ò⣬Ï»®Ïß²¢²»¸Ä±äÊôÐÔÊǹ«ÓÃÊôÐÔµÄÊÂʵ£¬ËüÖ»ÊǸæË߯äËû¿ª·¢Õߣ¬Ó¦¸Ã°Ñ¸ÃÊôÐÔ¿´×÷˽Óеġ£
ÓÐЩ¿ª·¢Õß»¹Ï²»¶Óõ¥Ï»®Ïß˵Ã÷˽ÓгÉÔ±£¬ÀýÈ磺obj._color¡£
¾²Ì¬×÷ÓÃÓò
¾²Ì¬×÷ÓÃÓò¶¨ÒåµÄÊôÐԺͷ½·¨ÈκÎʱºò¶¼ÄÜ´ÓͬһλÖ÷ÃÎÊ¡£ÔÚ Java ÖУ¬Àà¿É¾ßÓÐÊôÐԺͷ½·¨£¬ÎÞÐèʵÀý»¯¸ÃÀàµÄ¶ÔÏ󣬼´¿É·ÃÎÊÕâЩÊôÐԺͷ½·¨£¬ÀýÈç java.net.URLEncoder À࣬ËüµÄº¯Êý encode() ¾ÍÊǾ²Ì¬·½·¨¡£
ECMAScript ûÓо²Ì¬×÷ÓÃÓò
ÑϸñÀ´Ëµ£¬ECMAScript ²¢Ã»Óо²Ì¬×÷ÓÃÓò¡£²»¹ý£¬Ëü¿ÉÒÔ¸ø¹¹Ô캯ÊýÌṩÊôÐԺͷ½·¨¡£»¹¼ÇµÃÂ𣬹¹Ô캯ÊýÖ»ÊǺ¯Êý¡£º¯ÊýÊǶÔÏ󣬶ÔÏó¿ÉÒÔÓÐÊôÐԺͷ½·¨¡£ÀýÈ磺
function sayHello() { alert("hello"); } sayHello.alternate = function() { alert("hi"); } sayHello(); //Êä³ö "hello" sayHello.alternate(); //Êä³ö "hi"
ÕâÀ·½·¨ alternate() ʵ¼ÊÉÏÊǺ¯Êý sayHello µÄ·½·¨¡£¿ÉÒÔÏñµ÷Ó󣹿º¯ÊýÒ»Ñùµ÷Óà sayHello() Êä³ö "hello"£¬Ò²¿ÉÒÔµ÷Óà sayHello.alternate() Êä³ö "hi"¡£¼´Ê¹Èç´Ë£¬alternate() Ò²ÊÇ sayHello() ¹«ÓÃ×÷ÓÃÓòÖеķ½·¨£¬¶ø²»ÊǾ²Ì¬·½·¨¡£
¹Ø¼ü×Ö this
this µÄ¹¦ÄÜ
ÔÚ ECMAScript ÖУ¬ÒªÕÆÎÕµÄ×îÖØÒªµÄ¸ÅÄîÖ®Ò»Êǹؼü×Ö this µÄÓ÷¨£¬ËüÓÃÔÚ¶ÔÏóµÄ·½·¨ÖС£¹Ø¼ü×Ö this ×ÜÊÇÖ¸Ïòµ÷Óø÷½·¨µÄ¶ÔÏó£¬ÀýÈ磺
var oCar = new Object;
oCar.color = "red";
oCar.showColor = function() {
alert(this.color
);
};
oCar.showColor(); //Êä³ö "red"
ÔÚÉÏÃæµÄ´úÂëÖУ¬¹Ø¼ü×Ö this ÓÃÔÚ¶ÔÏóµÄ showColor() ·½·¨ÖС£ÔÚ´Ë»·¾³ÖУ¬this µÈÓÚ oCar¡£ÏÂÃæµÄ´úÂëÓëÉÏÃæµÄ´úÂëµÄ¹¦ÄÜÏàͬ£º
var oCar = new Object;
oCar.color = "red";
oCar.showColor = function() {
alert(oCar.color
);
};
oCar.showColor(); //Êä³ö "red"
ʹÓà this µÄÔÒò
ΪʲôʹÓà this ÄØ£¿ÒòΪÔÚʵÀý»¯¶ÔÏóʱ£¬×ÜÊDz»ÄÜÈ·¶¨¿ª·¢Õß»áʹÓÃʲôÑùµÄ±äÁ¿Ãû¡£Ê¹Óà this£¬¼´¿ÉÔÚÈκζà¸öµØ·½ÖØÓÃͬһ¸öº¯Êý¡£Çë˼¿¼ÏÂÃæµÄÀý×Ó£º
function showColor() {
alert(this.color
);
};
var oCar1 = new Object;
oCar1.color = "red";
oCar1.showColor = showColor;
var oCar2 = new Object;
oCar2.color = "blue";
oCar2.showColor = showColor;
oCar1.showColor(); //Êä³ö "red"
oCar2.showColor(); //Êä³ö "blue"
ÔÚÉÏÃæµÄ´úÂëÖУ¬Ê×ÏÈÓà this ¶¨Ò庯Êý showColor()£¬È»ºó´´½¨Á½¸ö¶ÔÏó£¨oCar1 ºÍ oCar2£©£¬Ò»¸ö¶ÔÏóµÄ color ÊôÐÔ±»ÉèÖÃΪ "red"£¬ÁíÒ»¸ö¶ÔÏóµÄ color ÊôÐÔ±»ÉèÖÃΪ "blue"¡£Á½¸ö¶ÔÏó¶¼±»¸³ÓèÁËÊôÐÔ showColor£¬Ö¸ÏòÔʼµÄ showColor () º¯Êý£¨×¢ÒâÕâÀï²»´æÔÚÃüÃûÎÊÌ⣬ÒòΪһ¸öÊÇÈ«¾Öº¯Êý£¬¶øÁíÒ»¸öÊǶÔÏóµÄÊôÐÔ£©¡£µ÷ÓÃÿ¸ö¶ÔÏóµÄ showColor()£¬oCar1 Êä³öÊÇ "red"£¬¶ø oCar2 µÄÊä³öÊÇ "blue"¡£ÕâÊÇÒòΪµ÷Óà oCar1.showColor() ʱ£¬º¯ÊýÖÐµÄ this ¹Ø¼ü×ÖµÈÓÚ oCar1¡£µ÷Óà oCar2.showColor() ʱ£¬º¯ÊýÖÐµÄ this ¹Ø¼ü×ÖµÈÓÚ oCar2¡£
×¢Ò⣬ÒýÓöÔÏóµÄÊôÐÔʱ£¬±ØÐëʹÓà this ¹Ø¼ü×Ö¡£ÀýÈ磬Èç¹û²ÉÓÃÏÂÃæµÄ´úÂ룬showColor() ·½·¨²»ÄÜÔËÐУº
function showColor() {
alert(color
);
};
Èç¹û²»ÓöÔÏó»ò this ¹Ø¼ü×ÖÒýÓñäÁ¿£¬ECMAScript ¾Í»á°ÑËü¿´×÷¾Ö²¿±äÁ¿»òÈ«¾Ö±äÁ¿¡£È»ºó¸Ãº¯Êý½«²éÕÒÃûΪ color µÄ¾Ö²¿»òÈ«¾Ö±äÁ¿£¬µ«ÊDz»»áÕÒµ½¡£½á¹ûÈçºÎÄØ£¿¸Ãº¯Êý½«ÔÚ¾¯¸æÖÐÏÔʾ "null"¡£