首頁 >web前端 >js教程 >javascript中怎麼取得方法(函數)的參數個數

javascript中怎麼取得方法(函數)的參數個數

青灯夜游
青灯夜游原創
2021-07-19 17:58:455812瀏覽

在javascript中,可以使用arguments物件的length屬性來取得方法(函數)的參數個數,該屬性可以取得函數的實參數;使用函數物件的length屬性來取得函數的形參個數。

javascript中怎麼取得方法(函數)的參數個數

本教學操作環境: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn