Javascript中arguments和arguments.callee的區(qū)別淺析
通過一個例子來理解下arguments與arguments.callee的具體區(qū)別:
代碼如下:
<script type="text/javascript">
function check(args){
var ac = args.length;
var ex = args.callee.length;
document.write("ac:" + ac + '<br>');
document.write("ex:" + ex + '<br>');
if (ac != ex) {
document.write("wrong number of arguments: expected: " + ex + "; actually passed" + ac + '<br>');
}
}
function f(x, y, z) {
check(arguments);
document.write(x + y + z);
}
</script>
調(diào)用方法:
<input name="wr" type="button" value="調(diào)用" onclick="f(1,2)" />
運行后的結(jié)果為:
ac:2
ex:3
wrong number of arguments: expected: 3; actually passed2
NaN
我的理解:
arguments即調(diào)用對象,就是調(diào)用這個方法的對象
arguments.callee即當(dāng)前對象,實際上就是返回當(dāng)前執(zhí)行的函數(shù)對象
通過這個例子,可以看出
arguments實際上是指函數(shù)“f(1,2)”
argument.callee實際上是指"function f(x,y,z){}"
相關(guān)文章
關(guān)于不同頁面之間實現(xiàn)參數(shù)傳遞的幾種方式討論
下面小編就為大家?guī)硪黄P(guān)于不同頁面之間實現(xiàn)參數(shù)傳遞的幾種方式討論。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02詳解微信小程序中var、let、const用法與區(qū)別
微信小程序是可以使用最新ES6標(biāo)準(zhǔn)規(guī)范的Javascript來開發(fā)的,所有ES6中的新特性微信小程序也是支持的,下面我們來總結(jié)下信小程序中var、let、const用法與區(qū)別2020-01-01Adapter適配器模式在JavaScript設(shè)計模式編程中的運用分析
適配器模式的作用是解決兩個軟件實體間的接口不兼容的問題,在JavaScript尤其是AJAX方面比較常用,接下來看一下對Adapter適配器模式在JavaScript設(shè)計模式編程中的運用分析2016-05-05javascript函數(shù)中的arguments參數(shù)
arguments當(dāng)然只在function體內(nèi)才有意義, arguments.length 返回的是傳入function的實參個數(shù)2010-08-08JS特殊函數(shù)(Function()構(gòu)造函數(shù)、函數(shù)直接量)區(qū)別介紹
函數(shù)是由這樣的方式進行聲明的:關(guān)鍵字 function、函數(shù)名、一組參數(shù),以及置于括號中的待執(zhí)行代碼;Function()構(gòu)造函數(shù)實際上是功能完整的對象2013-05-05