这两个属性的使用算是比较频繁,本章节将会简要的做一下介绍,希望能够给需要的朋友带来或多或少的帮助。

一.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>

代码描述:js callee与caller。js callee与caller



117 156



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到