代码描述:js callee与caller。js callee与caller
这两个属性的使用算是比较频繁,本章节将会简要的做一下介绍,希望能够给需要的朋友带来或多或少的帮助。 一.caller属性: 此属性可以返回函数的调用者,为了更好的理解和记忆此函数,有必要从它的名称下手,caller的英文意思是"呼叫者"后者"调用者"。 下面看一段实例代码:
<script> function func(){ if(func.caller) { console.log(func.caller.toString()); } else{ console.log("函数直接执行"); } } function handleCaller() { func(); } handleCaller(); func(); </script>
以上代码中,第一个函数handleCaller()运行会输出func函数的调用也就是:
<script> function handleCaller() { func(); } </script>
第二个函数func()运行会输出"函数直接执行",因为它的执行没有调用者。 二.callee属性: 此属性返回正在被执行的Function对象。它的英文意思是"被召者"。 它是argument对象的一个属性,它表示对函数对象本身的引用,这有利于匿名,下面先看一段代码实例:
<script> function calleeLengthDemo(argOne,argTwo) { console.log(arguments.callee.toString()); if(arguments.length==arguments.callee.length) { console.log("验证形参和实参长度正确!"); return; } else\\0{ console.log("实参长度:" + arguments.length); console.log("形参长度:" + arguments.callee.length); } } calleeLengthDemo(1); </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能