ECMAScript arguments ¶ÔÏó

arguments ¶ÔÏó

ÔÚº¯Êý´úÂëÖУ¬Ê¹ÓÃÌØÊâ¶ÔÏó arguments£¬¿ª·¢ÕßÎÞÐèÃ÷È·Ö¸³ö²ÎÊýÃû£¬¾ÍÄÜ·ÃÎÊËüÃÇ¡£

ÀýÈ磬ÔÚº¯Êý sayHi() ÖУ¬µÚÒ»¸ö²ÎÊýÊÇ message¡£Óà arguments[0] Ò²¿ÉÒÔ·ÃÎÊÕâ¸öÖµ£¬¼´µÚÒ»¸ö²ÎÊýµÄÖµ£¨µÚÒ»¸ö²ÎÊýλÓÚλÖà 0£¬µÚ¶þ¸ö²ÎÊýλÓÚλÖà 1£¬ÒÀ´ËÀàÍÆ£©¡£

Òò´Ë£¬ÎÞÐèÃ÷È·ÃüÃû²ÎÊý£¬¾Í¿ÉÒÔÖØÐ´º¯Êý£º

function sayHi() {
  if (arguments[0] == "bye") {
    return;
  }

  alert(arguments[0]);
}

¼ì²â²ÎÊý¸öÊý

»¹¿ÉÒÔÓà arguments ¶ÔÏó¼ì²âº¯ÊýµÄ²ÎÊý¸öÊý£¬ÒýÓÃÊôÐÔ arguments.length ¼´¿É¡£

ÏÂÃæµÄ´úÂ뽫Êä³öÿ´Îµ÷Óú¯ÊýʹÓõIJÎÊý¸öÊý£º

function howManyArgs() {
  alert(arguments.length);
}

howManyArgs("string", 45);
howManyArgs();
howManyArgs(12);

ÉÏÃæÕâ¶Î´úÂ뽫ÒÀ´ÎÏÔʾ "2"¡¢"0" ºÍ "1"¡£

×¢ÊÍ£ºÓëÆäËû³ÌÐòÉè¼ÆÓïÑÔ²»Í¬£¬ECMAScript ²»»áÑéÖ¤´«µÝ¸øº¯ÊýµÄ²ÎÊý¸öÊýÊÇ·ñµÈÓÚº¯Êý¶¨ÒåµÄ²ÎÊý¸öÊý¡£¿ª·¢Õß¶¨ÒåµÄº¯Êý¶¼¿ÉÒÔ½ÓÊÜÈÎÒâ¸öÊýµÄ²ÎÊý£¨¸ù¾Ý Netscape µÄÎĵµ£¬×î¶à¿É½ÓÊÜ 255 ¸ö£©£¬¶ø²»»áÒý·¢ÈκδíÎó¡£ÈκÎÒÅ©µÄ²ÎÊý¶¼»áÒÔ undefined ´«µÝ¸øº¯Êý£¬¶àÓàµÄº¯Êý½«ºöÂÔ¡£

Ä£Ä⺯ÊýÖØÔØ

Óà arguments ¶ÔÏóÅжϴ«µÝ¸øº¯ÊýµÄ²ÎÊý¸öÊý£¬¼´¿ÉÄ£Ä⺯ÊýÖØÔØ£º

function doAdd() {
  if(arguments.length == 1) {
    alert(arguments[0] + 5);
  } else if(arguments.length == 2) {
    alert(arguments[0] + arguments[1]);
  }
}

doAdd(10);	//Êä³ö "15"
doAdd(40, 20);	//Êä³ö "60"

µ±Ö»ÓÐÒ»¸ö²ÎÊýʱ£¬doAdd() º¯Êý¸ø²ÎÊý¼Ó 5¡£Èç¹ûÓÐÁ½¸ö²ÎÊý£¬Ôò»á°ÑÁ½¸ö²ÎÊýÏà¼Ó£¬·µ»ØËüÃǵĺ͡£ËùÒÔ£¬doAdd(10) Êä³öµÄÊÇ "15"£¬¶ø doAdd(40, 20) Êä³öµÄÊÇ "60"¡£

ËäÈ»²»ÈçÖØÔØÄÇôºÃ£¬²»¹ýÒÑ×ãÒԱܿª ECMAScript µÄÕâÖÖÏÞÖÆ¡£

VUE