Javascript中arguments和arguments.callee的區(qū)別淺析
通過(guò)一個(gè)例子來(lái)理解下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)" />
運(yùn)行后的結(jié)果為:
ac:2
ex:3
wrong number of arguments: expected: 3; actually passed2
NaN
我的理解:
arguments即調(diào)用對(duì)象,就是調(diào)用這個(gè)方法的對(duì)象
arguments.callee即當(dāng)前對(duì)象,實(shí)際上就是返回當(dāng)前執(zhí)行的函數(shù)對(duì)象
通過(guò)這個(gè)例子,可以看出
arguments實(shí)際上是指函數(shù)“f(1,2)”
argument.callee實(shí)際上是指"function f(x,y,z){}"
相關(guān)文章
DOM下的節(jié)點(diǎn)屬性和操作小結(jié)
DOM 節(jié)點(diǎn)屬性操作方法小結(jié)。2009-05-05
JavaScript中各數(shù)制轉(zhuǎn)換全面總結(jié)
這篇文章主要介紹了JavaScript中各數(shù)制轉(zhuǎn)換,利用toString的基模式來(lái)進(jìn)行轉(zhuǎn)換,對(duì)數(shù)字調(diào)用 toString(10) 與調(diào)用 toString() 它們返回的區(qū)別和相同之處等等都在本文中提及,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。2017-08-08

