在javascript中,可以使用arguments物件的length屬性來取得方法(函數)的參數個數,該屬性可以取得函數的實參數;使用函數物件的length屬性來取得函數的形參個數。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
方法(method)是透過物件呼叫的JavaScript函數。也就是說,方法也是函數,只是比較特殊的函數。
在JavaScript中,可以使用arguments 物件的 length 屬性可以取得函數的實參數。 arguments 物件只能在函數體內可見,因此 arguments.length
也只能在函數體內使用。
使用函數物件的 length 屬性可以取得函數的形參數。 此屬性為唯讀屬性,在函數體內、體外都可以使用。
範例
下面範例設計一個 checkArg() 函數,用來偵測一個函數的形參和實參是否一致,如果不一致則拋出例外。
function checkArg(a) { //检测函数实参与形参是否一致 if (a.length != a.callee.length) //如果实参与形参个数不同,则抛出错误 throw new Error("实参和形参不一致"); } function f(a, b) { //求两个数的平均值 checkArg(arguments); //根据arguments来检测函数实参和形参是否一致 return ((a * 1 ? a : 0) + (b * 1 ? b : 0)) / 2; //返回平均值 } console.log(f(6)); //抛出异常。调用函数f,传入一个参数
說明:
arguments 物件表示函數的實參集合,僅能夠在函數體內可見,並且可以直接存取。
arguments 物件的 length 屬性和 callee 屬性最為常用:
使用 length 屬性可以取得函數的實參數。 arguments 物件只能在函數體內可見,因此 arguments.length 也只能在函數體內使用。
使用 callee 屬性可以引用目前 arguments 物件所在的函數。使用 callee 屬性可以在函數體內呼叫函數本身。在匿名函數中,callee 屬性比較有用。例如,利用它可以設計遞歸呼叫。
【推薦學習:javascript進階教學】
以上是javascript中怎麼取得方法(函數)的參數個數的詳細內容。更多資訊請關注PHP中文網其他相關文章!