位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 函數(shù) 使用 callee

提問人:劉團(tuán)圓發(fā)布時間:2020-11-25

■知識點(diǎn)

    callee是arguments對象的厲性,它引用當(dāng)前arguments對象所在的函數(shù)。使用該屬性可以在函數(shù)體內(nèi)調(diào)用函數(shù)自身。在匿名函數(shù)中,callee屬性比較有用,例如,利用它可以設(shè)計(jì)遞歸調(diào)用。

■實(shí)例設(shè)計(jì)

    在下面的示例中,使用arguments.callee獲取匿名函數(shù),然后通過函數(shù)的length屬性獲取函數(shù)形參個數(shù),最后比較實(shí)參個數(shù)與形參個數(shù),以檢測用戶傳遞的參數(shù)是否符合要求。

function f(x, y, z){

    var a = arguments . length;         //獲取函數(shù)實(shí)參的個數(shù)

    var b = arguments . callee. length; //獲取函數(shù)形參的個數(shù)

    if (a != b) {                 //如果形參和實(shí)參個數(shù)不相等,則提示錯誤信息

        throw new Error ("傳遞的參數(shù)不匹配");

    }

    else{                               //如果形參和實(shí)參個數(shù)相同,則返回它們的和

        return x + y + z;

    }

}

console.log(f(3, 4, 5));               //返回值為12

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部