caller是function的属性

callee是arguments的属性

callee:返回正在执行的函数对象。

var sum = function (n) {
if ( == n) return ;
else return n + sum(n - );
}
console.log(sum());
 var sum = function (n) {
if ( == n) return ;
else return n + arguments.callee(n - );
}
console.log(sum());

由上可以看出callee的使用

       //caller
function callerDemo() {
if (arguments.callee) {
var a = callerDemo.caller.toString();
console.log(a);
} else {
console.log("this is a top function");
}
}
function handleCaller() {
callerDemo();
}
handleCaller(); //callee
function calleeDemo() {
console.log(arguments.callee);
}
calleeDemo();

结果:

由上可以看出caller的作用,所以最上面foo.caller为null

caller:返回了一个对当前函数调用的函数对象。

JavaScript callee caller的更多相关文章

  1. JavaScript中的內定物件與函式: arguments, callee, caller, this, apply(), call()

    arguments, caller, callee, this都是用在函式(function)內的特殊內定物件.而apply()及call()則是用來呼叫函式的不同作法. arguments可用來取得 ...

  2. javascript callee和caller

    arguments的主要用途是保存参数,但是他还有callee属性. 一:callee指向arguments对象的函数. 示例一: function calture(num) {//阶乘计算 if ( ...

  3. javascript 中的 arguments,callee.caller,apply,call 区别

    记录一下: 1.arguments是一个对象, 是函数的一个特性,只有在函数内才具有这个特性,在函数外部不用使用. 举例: function test(){   alert(typeof argume ...

  4. js callee,caller学习

    原文地址:js callee,caller学习 /* * caller 返回一个对函数的引用,该函数调用了当前函数. * 如果函数是由顶层调用的,那么 caller包含的就是 null . * 如果在 ...

  5. 关于arguments.callee.caller.arguments[0]获得event的一些问题

    先从一个简单的例子说起,一个简单的button控件如下: < input  type ='button'  name ='mybtn'  id ='mybtn'  onclick ='myFun ...

  6. js arguments.callee & caller的用法及区别

    在函数内部,arguments.callee该属性是一个指针,指向拥有这个arguments对象的函数; 而函数对象的另一个属性:caller,这个属性保存着调用当前函数的函数的引用,如果是在全局作用 ...

  7. arguments .length .callee caller

    如果有一个函数像下面这样: function fn(){ } 那么fn这个函数下面就有一个arguments属性(你在逗我么,后面又说对象),该属性是个对象(typeof一下就知道了),然后它下面也有 ...

  8. JavaScript中的arguments,callee,caller

    在提到上述的概念之前,首先想说说javascript中函数的隐含参数: arguments: arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]argument ...

  9. 理解JavaScript中的arguments,callee,caller,apply

    arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n] 参数function :选项.当前正在执行的 Function 对象的名字. n : ...

随机推荐

  1. MySQL 同一实例不同库之间表同步(Otter 应用)

    1 需求 在同一台服务器同一MySQL实例中的source库和target库都存在student表.如果source库中该表发生增删改操作时,也需要体现到target库的student表中: 2 解决 ...

  2. 带宽bandwidth,也叫频宽

    1.两种意义 (1)在数字设备中,带宽通常以bps(bit per second)或bit/s或b/s表示. (2)在模拟设备中,带宽通常以每秒传送周期或赫兹 (Hz)来表示.如传送模拟信号(连续变化 ...

  3. 查询mysql事务隔离级别

    查询mysql事务隔离级别 查询mysql事务隔离级别 分类: DB2011-11-26 13:12 2517人阅读 评论(0) 收藏 举报 mysqlsessionjava   1.查看当前会话隔离 ...

  4. 深度学习之TensorFlow(一)——基本使用

    一.目前主流的深度学习框架Caffe, TensorFlow, MXNet, Torch, Theano比较 库名称 开发语言 速度 灵活性 文档 适合模型 平台 上手难易 Caffe c++/cud ...

  5. Andrew Ng-ML习题答案1

    1.Linear Regression with Multiple Variables 转自:https://blog.csdn.net/mupengfei6688/article/details/5 ...

  6. Java-单向链表算法

    /** * 数据结构之链表(单向链表) * @author Administrator * */ public class LinkNodeTest { public static void main ...

  7. Postman使用js获取日期

    在用postman进行接口自动化测试的时候,某个查询接口需要使用到日期参数进行请求: 假设当前日期为2018-05-07 10:30:20 ,需要传的日期为: beginTime:2018-05-01 ...

  8. 树结构数据的展示和编辑-zTree树插件的简单使用

    最近在项目当中遇到一个需求,需要以树结构的方式展示一些数据,并可对每一个树节点做内容的编辑以及树节点的添加和删除,刚好听说有zTree这个插件可以实现这样的需求,所以在项目的这个需求完成之后,在博客里 ...

  9. UVM中的regmodel建模(二)

    UVM的寄存器模型,对一个寄存器bit中有两种数值,mirror值,尽可能的反映DUT中寄存器的值.expected值,尽可能的反映用户期望的值. 几种常用的操作: read/write:可以前门访问 ...

  10. owl.carousel

    简介 Owl Carousel 是一个强大.实用但小巧的 jQuery 幻灯片插件,它具有一下特点: 兼容所有浏览器 支持响应式 支持 CSS3 过度 支持触摸事件 支持 JSON 及自定义 JSON ...