什么是caller:

先看官方定义的概念:Function对象的caller属性是对调用当前函数的函数的引用。如果该函数是从JavaScript程序的顶层调用的,caller的值就为null

看个例子:

function callerDemo() {
if (callerDemo.caller == null) {
return "在顶层执行";
}
else
{
return "被函数使用";
}
}
function handleCaller(){
alert(callerDemo());
}

caller有啥用:判断是否在顶层使用,也可以像抽象类一样,要求该函数必须在函数内执行

什么是callee;

概念:属性arguments.callee引用当前正在运行的函数。它给未命名的函数提供了一种自我引用的方式。该属性只在函数体内被定义。

看个例子:

var factorial = function(x) {
if (x < 2) return 1;
else return x * arguments.callee(x-1);
}
var y = factorial(5);// 返回 120 5*4*3*2*1=120

callee有啥用:匿名函数的递归

caller和callee的使用方法相关推荐

  1. call、aplly、caller、callee分别是什么?

    call和aplly的区别: 概念: call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向.因为 JavaScr ...

  2. javascript 中 caller 与 callee 的作用以及用法

    这两个关键字在平时编码中几乎难以用到,但它们既然存在于javascript语言体系中,那么还是有必要了解下. caller 是 javascript 函数类型的一个属性,它引用调用当前函数的函数 fu ...

  3. JavaScript基础之 caller和callee

    后面继续聊数组相关的一些事情的时候,会出现这两个属性,放在篇幅里面解释,感觉会前后不连贯,所以单独就弄出来作为一篇.本篇很短就是简单的解释其作用,所以想要深入了解的可以跳过本篇了. caller:所有 ...

  4. js apply/call/caller/callee/bind使用方法与区别分析

    一.call 方法 调用一个对象的一个方法,以另一个对象替换当前对象(其实就是更改对象的内部指针,即改变对象的this指向的内容). Js代码 call([thisObj[,arg1[, arg2[, ...

  5. java caller_js中的caller和callee属性

    caller 返回一个对函数的引用,该函数调用了当前函数. functionName.caller functionName 对象是所执行函数的名称. 如果一个函数f是在全局作用域内被调用的,则f.c ...

  6. Js中caller和callee的区别

    1 :caller 返回一个调用当前函数的引用 如果是由顶层调用的话 则返回null (举个栗子哈 caller给你打电话的人  谁给你打电话了 谁调用了你 很显然是下面a函数的执行 只有在打电话的时 ...

  7. JavaScript 之arguments、caller 和 callee 介绍

    1.前言 arguments, caller ,   callee 是什么? 在javascript 中有什么样的作用?本篇会对于此做一些基本介绍. 2. arguments arguments:  ...

  8. javascript中caller与callee的作用以及用法

    这两个关键字在平时编码中几乎难以用到,但它们既然存在于javascript语言体系中,那么还是有必要了解下. caller是javascript函数类型的一个属性,它引用调用当前函数的函数 funct ...

  9. call与caller与callee的区别

    call() 语法 函数名.call(修改this的指向,arg1,arg2...) function fn(a, b) {console.log(this);console.log(a + b);} ...

最新文章

  1. css炫酷标题,纯css3鼠标滑过图片炫酷标题显示特效
  2. Android从放弃到精通 第二天 我还好
  3. C# 跨线程调用控件
  4. Java中的Fork / Join框架的简要概述
  5. 第二季2:/package/mpp/sample的总体分析
  6. 测试:fiddler使用
  7. 【操作系统】输入输出系统(上)-思维导图
  8. 基于Java的敬老院管理系统
  9. error: could not lock config file .git/config: Permission denied/Command failed with exit 255
  10. ffmpeg教程 如何输出任务日志?用于进度条显示
  11. 事件驱动架构在 vivo 内容平台的实践
  12. javaweb基于SSM酒店入住管理系统设计与实现(含毕业论文、程序设计及数据库文件)
  13. 动态网站开发技术学习2:VS 2010制作作第一个简单示例网站
  14. 机器人摘果子看图写话_作文:摘苹果(看图写话)
  15. Python技术pip的使用命令总结
  16. FZU 1968 Twinkling lights III
  17. 简单的邮箱格式校验方式
  18. centOs7 安装docker 镜像
  19. VUE H5页面微信/QQ/微博 分享连接设置
  20. 【简易版】知网下载PDF硕博论文

热门文章

  1. jieba分词textrank算法
  2. Python-辨析type/dtype/astype用法
  3. 正则表达式使用 ES6 的模板字符串
  4. HIVE中的from_unixtime函数
  5. python乌龟画图五角星_天呐!python 的乌龟绘图怎么用啊!?
  6. 2021SC@SDUSC sm2算法原理(2)
  7. java解析五元组_抓包分析提取五元组
  8. 单目SLAM尺度问题
  9. 【调剂】杭州师范大学2023年硕士研究生预调剂公告
  10. 用c写一个hello woed