函式不介意傳遞進來多少個引數,也不在乎傳進來引數是什麼資料型別,原因是
ecmascript
中的引數在內部是用乙個陣列來表示的。函式接收到的始終都是這個陣列,而不關心陣列中包含哪些引數(如果有引數的話),
在函式體內可以通過
arguments
物件來訪問這個引數陣列,從而獲取傳遞給函式的每乙個引數,arguments
物件只是與陣列類似(它並不是
array
的例項),因為可以使用方括號語法訪問它的每乙個元素(即第乙個元素是
arguments[0]
,第二個元素是
argumetns[1]
,以此類推),使用
length
屬性來確定傳遞進來多少個引數
function howmanyargs()
howmanyargs("string", 45); //2howmanyargs(); //0
howmanyargs(12); //1
function doadd() else if (arguments.length == 2)
}
doadd(10); //20doadd(30, 20); //50
JavaScript中的函式
函式的宣告 方式一 js的 宣告區域和執行區域是一起的,都是在js 的 域中 function 函式名 形參名 1,形參名2 function test1 a1,a2 test1 1 2 方式二 根據底層都是物件,函式底層也都是物件 var 函式名 new function 形參1 形參2 函式體 ...
JavaScript函式中的arguments物件
ecmascript標準中,每個函式都有乙個特殊的內建物件arguments。arguments物件是乙個類array物件 object 用以儲存函式接收到的實參副本。一 內建特性 說它是乙個內建物件是因為我們在建立函式時並沒有定義這個物件 var functest function args fu...
javascript中的eval函式
eval 只有乙個引數,如果傳入的引數不是字串,則直接返回這個引數。否則會將字串當成js 進行編譯,如果編譯失敗則丟擲語法錯誤 syntaxerror 異常。如果編譯成功則開始執行這段 並返回字串中的最後乙個表示式或語句的值 如果最後乙個表示式或語句沒有值,則最終返回undefined。如果字串丟擲...