当前位置:首页 > 日记 > 正文

在Javascript中的主叫方和被叫方的详细解决方案

在Javascript中的主叫方和被叫方的详细解决方案
Javascript的最近的研究中,主叫方和被叫方的问题,网上很多百度。对同一小利益的内容的内容,整理和总结与大家分享。

调用方:返回对调用函数函数的函数的引用(使用:函数调用)。

描述:对于一个函数,调用者属性只在函数执行时定义。如果从顶层调用函数,调用者是空的。
无功/时间= 3控制数量,删除会在来电和handlecaller交替不断
函数调用(){
(调用者)引用函数返回调用者的调用函数。
}
功能handlecaller(){
如果(时间> 0){
时间--
警报(handlecaller。来电) /参考函数返回handlecaller呼叫功能
警报(调用者)调用函数返回调用者的调用函数。
来电者()
}
}
HandleCaller()

实例分析:当第一handlecaller跑,两警报返回null,并提醒(handlecaller。来电)返回null,因为它是从顶层调用,并提醒(来电,来电)返回null因为访客的默认值为空。接下来,调用者()函数调用。Caller.caller返回引用的函数(handlecaller)。handlecaller功能可以通过caller.caller又称(),当第二次handlecaller跑警报(handlecaller。来电)返回调用者的代码,这其实是一个参考来电。警报(来电。电话)返回handlecaller代码。因为函数之间的调用关系是handlecaller ->人-> handlecaller.then 2功能不断交替进行。

调用方指向调用当前函数的函数,但如果在全局范围(即顶层窗口)调用它,则返回null。

代码上升

====================
的功能,而是使用TestCaller(){
如果(testcaller.caller = = null){
console.log('accessed全球);
其他{ }
console.log('accessed ' +而是使用TestCaller。来电);
}
}
全球呼叫

(而是使用TestCaller); / /访问在全球
调用函数

函数A(){
TestCaller();
}
一个(); / /访问功能(一)({而是使用TestCaller);}
在这一点上,testcaller.caller点功能

Callee:返回对应的实参的函数参考。(主要用于匿名函数的递归)

说明:也许是最重要的事,你在网络上看到的是被调用者返回一个函数的引用被处决。我明白每一个函数都有自己的观点,这是通常用来存储参数。参数具有callee属性,和初始值是一个函数引用自身。当你的函数执行这项声明,参数对应于你正在执行的函数的默认功能。然后arguments.callee是当前正在执行的函数参考。当然,如果你的论点(例子中的参数),有明显的其他功能,你可以很自然地叫,又args.callee()函数。
函数A(){
警报(参数。被叫方)
var args =参数
函数C(){
警报(参数。被叫方)
Args.callee()
}
(C)
}
(一)

实例分析:一个arguments.callee例是默认的参考函数返回当前执行的(一个返回自己的函数参考,C返回C,其功能参考)通过存储功能使用args参数,使用args.callee内置函数C()函数调用一次。
====================
函数A(x){

如果(x=1)
返回x;
其他的
返回x +(X-1);
}
A(12 78)

这是一个简单的递归,运行结果是正常的。
看看下面的调用方法

var;
a =空;
B(12); / /错误:'a'is不是一个函数

原因很简单,B = A,B =函数(){ };B在打电话之前,我们使用了= null.so当函数运行,返回x +(X-1);在一个,它分为空,没有功能A.

因此,如何解决这个问题是错误的,让我们改变一种写作方式。

函数A(x){
如果(x=1)
返回x;
其他的
返回arguments.callee(X-1); / /这是改变。
}
再打电话

var;
a = null;
b(12 78);
The reason: Although we will be a=null, but the function a does not use a, instead, it points to the current function through the arguments.callee.

因为arguments.callee定义返回的函数被执行。

相关文章

如何使烟花CS5三维网格线

如何使烟花CS5三维网格线

网格,烟花,电脑软件,如何使烟花CS5三维网格线使用烟花CS5软件,我们可以创建漂亮的3D网格线。三维网格线的生成主要是通过网格、直线和矩形工具的简单应用和工具的选择来完成的。 使用烟花的CS5软件,我们可以做出漂亮的3D网格线,使三维网格线,主…

PS创意猕猴桃忍者海报

PS创意猕猴桃忍者海报

猕猴桃,创意,忍者,海报,电脑软件,本教程是向朋友介绍PS,创意和合成猕猴桃忍者海报。这门课的海报很有创意,而且方法也不难。建议脚本,直觉,爱和朋友谁喜欢它可以一起学习教程。 这个PS创意合成切猕猴桃的水果忍者海报教程是我刚刚学习的综合教…

手机的QQ空间是什么QQ常见问题

手机的QQ空间是什么QQ常见问题

常见问题,空间,电脑软件,QQ,QQ手机软件版本空间是移动电话手机用户提供个性化的网络服务终端的腾讯公司,博客(blog)的功能,你可以在自己的手机QQ空间日志图片记录你的旅程,保存相册,展示自己通过各种方式,你还可以分享手机朋友的QQ空间更新内容,便…

PPT如何在封面上做PPT基本教程

PPT如何在封面上做PPT基本教程

教程,上做,封面,如何在,电脑软件,PPT是一个非常实用的办公软件,设计一个漂亮的文字文档封面,无论是报告还是手稿都是必不可少的,本文的重点不是设计一些高、华丽、新颖的封面,而是设计实用的、正式的、传递信息的文档封面。 1,建立一个新的Word…

Word2003文档自动保存如何设置Word

Word2003文档自动保存如何设置Word

文档,教程,自动保存,如何设置,电脑软件,每次我使用Word2003记录数据或使一个手稿,我有一个好的保存文件,一旦习惯了,然后继续工作。这样做的目的是为了减少文档的损失率,避免电脑或计算机的突然死亡造成的损失突然文件崩溃。我有这样的损失之前…

jQuery支持添加事件的日历效果代码

jQuery支持添加事件的日历效果代码

支持,事件,样式,日历,效果,支持添加事件jQuery日历是一个jQuery日历插件代码,可以实时添加到删除时间,感兴趣的朋友们正在学习学习。 性能图:下载源代码并查看执行的效果 提示:如果不能在浏览器中正常运行,可以尝试切换浏览模式。 jQuery支持…

人工混合工具的国产调色板简介

人工混合工具的国产调色板简介

调色板,工具,混合,简介,电脑软件,本教程是介绍一个朋友的ai混合工具,自制的彩板小教程,很不错,是一个很有技巧的教程,推荐给喜欢的朋友,可以跟大家一起学习教程。 本教程是一个熟练的知识共享。我的朋友们喜欢介绍使用AI的混合工具创建污渍的方…

ai绘制一个真正的手表具有强烈的质

ai绘制一个真正的手表具有强烈的质

意识,绘制,手表,质量,电脑软件,本教程是给朋友介绍的,用ai来画一个很强的真实手表感,画出来的手表很逼真。教程很强大。但是需要有一定AI基础的朋友来学习,对于新手学习有点难。推荐朋友,喜欢朋友一起学习。 本教程介绍给朋友使用AI绘制一个很…

PS图象处理软件酷的现代战争按钮制

PS图象处理软件酷的现代战争按钮制

图文教程,图象,处理软件,按钮,现代战争,本教程使用ps制作超酷的现代战争按钮按钮设计教程,经常出现在日常工作中,今天来分享一个现代战争按钮制作过程。 最后找到了一个功能强大的PS制作超酷的现代战争按钮教程,让我们在这里分享吧。 以下是…

PS结合AI质感的方形应用篮球图标画

PS结合AI质感的方形应用篮球图标画

图标,方形,质感,画家,篮球,本教程是一个以篮球偶像PS的方法,用ai鼠标画的纹理,渲染出来的图标是个性的,也是很有创意的,是不是很好的推荐教程,喜欢的朋友可以补习教程学习 今天给大家分享一个非常特别的课程,我相信大家在谈论篮球时,大家先想到球,…

PS给合成蜘蛛人美丽的东北花外套

PS给合成蜘蛛人美丽的东北花外套

东北,蜘蛛人,美丽,电脑软件,PS,本教程是向大家介绍PS的一个朋友,蜘蛛侠美丽的东北花上衣合成方法,很好的教程,推荐给喜欢的朋友,可以跟着教程一起学习。 PS图像合成学习这个教程教给研究人员用ps来合成蜘蛛侠美丽的花外套,合成教程的效果很漂亮…

WPS表快捷键书WPS表教程

WPS表快捷键书WPS表教程

教程,快捷键,电脑软件,WPS,今天,我们介绍一些国内办公软件金山词霸的常见快捷键,熟悉office软件的朋友应该知道WPS表单与微软Excel类似,快捷键基本相同。它们甚至可以是泛型。因此,如果您认为快捷键还不够全面,您可以去查看Excel快捷方式。 WPS…