callee caller作用_call up和call的区别

callee caller作用_call up和call的区别caller和callee的区别

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

caller返回一个函数的引用,这个函数调用了当前的函数;callee放回正在执行的函数本身的引用,它是arguments的一个属性

caller
caller返回一个函数的引用,这个函数调用了当前的函数。
使用这个属性要注意:
1 这个属性只有当函数在执行时才有用
2 如果在javascript程序中,函数是由顶层调用的,则返回null

functionName.caller: functionName是当前正在执行的函数。

var a = function() { 
alert(a.caller); 
} 
var b = function() { 
a(); 
} 
b();

Jetbrains全家桶1年46,售后保障稳定


上面的代码中,b调用了a,那么a.caller返回的是b的引用,结果如下:

var b = function() { 
a(); 
} 

如果直接调用a(即a在任何函数中被调用,也就是顶层调用),返回null:

var a = function() { 
alert(a.caller); 
} 
var b = function() { 
a(); 
} 
//b(); 
a();

输出结果:

null

callee
callee放回正在执行的函数本身的引用,它是arguments的一个属性
使用callee时要注意:
1 这个属性只有在函数执行时才有效
2 它有一个length属性,可以用来获得形参的个数,因此可以用来比较形参和实参个数是否一致,即比较arguments.length是否等于arguments.callee.length
3 它可以用来递归匿名函数。

var a = function() { 
alert(arguments.callee); 
} 
var b = function() { 
a(); 
} 
b();

a在b中被调用,但是它返回了a本身的引用,结果如下:

var a = function() { 
alert(arguments.callee); 
} 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223003.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab画图颜色属性「建议收藏」

    matlab画图颜色属性「建议收藏」各种颜色属性选项选项意义选项意义’r’红色’m’粉红’g’绿色’c’青色32’b’兰色’w’白色’y’黄色’k’黑色各种线型属性选项选项意义选项意义’-‘实线’–‘虚线’:’点线’-.’点划线各种标记点属性选项选项意义选项意义’.’用点号绘制各数据点’^’用上三角绘制各数据点’+’用’+’号绘制各数据点’v’…

    2022年5月6日
    87
  • Java安全之log4j反序列化漏洞分析

    Java安全之log4j反序列化漏洞分析0x00前言前段时间在看某个cms代码的时候,发现log4j组件版本存在漏洞,并且开启了端口,但web站点是nginx反向代理的,而在外网并没有开放到该端

    2021年12月12日
    52
  • 关于参数thresh的理解(pd.dropna(thresh=n))

    关于参数thresh的理解(pd.dropna(thresh=n))书上的表达:假设你只想保留包含一定数量的观察值的行,可以使用thresh参数来表示。嗯嗯嗯….有些模棱两可。摸索了一番,终于理解了。格式:df.dropna(thresh=n)简单的理解:这一行除去NA值,剩余数值的数量大于等于n,便显示这一行。1.先创建数组,代码如下:1importnumpyasnp2from…

    2022年10月29日
    0
  • linux的gcc命令_Linux全套视频

    linux的gcc命令_Linux全套视频   GCC原名为GNUC语言编译器(GNUCCompiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNUCompilerCollection)。 gcc命令下各选项的…

    2022年10月13日
    0
  • 多重共线性检验之方差膨胀因子VIF[通俗易懂]

    多重共线性检验之方差膨胀因子VIF[通俗易懂]过程1、构造每一个自变量与其余自变量的线性回归模型,例如,数据集中含有p个自变量,则第一个自变量与其余自变量的线性组合可以表示为2、根据如上线性回归模型得到相应的判决系数R2R^2R2,进而计算第一个自变量的方差膨胀因子VIF:importpandasaspdimportnumpyasnpfromsklearnimportmodel_selectionimportstatsmodels.apiassnfromstatsmodels.stats.outlier

    2022年6月6日
    243
  • Java面经整理

    腾讯1.java基础 8种基本数据类型,int几个字节 类型 存储需求 取值范围 byte 1B -128~127 short 2B -32768~32767 int 4B -20亿~20亿 long 8B float 4B 小数点后6~7位 dou…

    2022年4月6日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号