欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript中arguments和arguments.callee的區(qū)別淺析

 更新時間:2015年04月24日 09:35:56   投稿:junjie  
這篇文章主要介紹了Javascript中arguments和arguments.callee的區(qū)別淺析,本文用一個實例來理解它們的區(qū)別,需要的朋友可以參考下

通過一個例子來理解下arguments與arguments.callee的具體區(qū)別:

代碼如下:

復(fù)制代碼 代碼如下:

<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)用方法:

復(fù)制代碼 代碼如下:

<input name="wr" type="button" value="調(diào)用" onclick="f(1,2)" /> 

運行后的結(jié)果為:
復(fù)制代碼 代碼如下:

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)文章

最新評論