arguments callee(求助:js下面这行代码activeXString是什么 typeof arguments.callee.activeXString!=“string“)

2023-11-04 15:31:28 20

arguments callee(求助:js下面这行代码activeXString是什么  typeof arguments.callee.activeXString!=“string“)

大家好,关于arguments callee很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于求助:js下面这行代码activeXString是什么 typeof arguments.callee.activeXString!=“string“的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

求助:js下面这行代码activeXString是什么 typeof arguments.callee.activeXString!=“string“

这里的activeXString是只createXHR对象的一个属性,自定义的.总的来说activeXString一般只会有2个类型的值,除非有在其他地方赋值...这2个类型的值是null,和versions数组中的某一个这个函数的作用就是创建一个异步请求的对象.从函数开始if(typeofXMLHttpRequest!="undefined"){ 先判断了是否存在XMLHttpRequest如果有 就直接返回他创造的对象.}else if(typeofActiveXObject!="undefined"){ 然后判断了是否存在ActiveXObject如果存在,则创建他的对象,但这个对象需要一个传入参数,如下:new ActiveXObect(versions); 需要versions数组中的某个项,数组的3个项分别对应3个版本.从最高版本开始创建,如果创建失败,就被catch抓住,不处理,继续循环.直到循环创建成功为止,然后给自己添加一个属性叫activeXStringarguments.callee.activeXStringarguments是javascript函数的内置对象,代表传入参数的集合callee就代表对象本身即new createXHR()如果3次循环完了都没找到,就会抛出thrownewError("NoXHRobjectavailable.");的错误.其实你把arguments.callee.activeXString换成this.activeXString就容易理解了.

with(arguments.callee)是什么意思

资料上说 callee 返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文。 callee 属性是 arguments 对象的一个成员,它表示对函数对象本身的引用,这有利于匿名 函数的递归或者保证函数的封装性,例如下边示例的递归计算1到n的自然数之和。而该属性 仅当相关函数正在执行时才可用。还有需要注意的是callee拥有length属性,这个属性有时候 用于验证还是比较好的。arguments.length是实参长度,arguments.callee.length是 形参长度,由此可以判断调用时形参长度是否和实参长度一致

caller和callee的区别

calleecallee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数首先我们来写个阶成函数:function chen(x){if (x《=1) {return 1;} else{return x*chen(x-1);};};从这个函数中可以看出来,用到了递归函数,要是改变了函数名,里面的函数名也要随着改变,这样很不方便所以我们用callee来试试function chen(x){if (x《=1) {return 1;}else{return x*arguments.callee(x-1);};};我们来分析一下为什么这样写:根据callee的定义,可以看出来callee是arguments对象的一个属性,指向arguments对象的函数,这个函数就是chen(chen=arguments.callee),这样解释应该可以理解了吧。callercaller是函数对象的一个属性,该属性保存着调用当前函数的函数的引用(指向当前函数的直接父函数)先来个例子吧function a(){b();};function b(){alert(b.caller);};a(); //结果就是弹出函数a和内容我们来解释一下吧,首先函数b的属性caller调用当前函数b的函数引用a(就是指向当前函数b的父函数a),所以结果就是弹出 function a(){ b();};那么了解了caller和callee,那么可以不可以将二者结合在一起来使用呢function b(){alert(b.caller);};从这个代码可以看出b函数中调用了b函数名,这样当函数名改变时就很不方便,我们需要替换里面的那个b前面我们知道用什么方法可以指向当前对象,下面我们就来修改一下:(function a(){b();})();function b(){alert(arguments.callee.caller);};从代码中可以看出我们用arguments.callee代替了b函数

下面代码中 arguments.callee.offset是怎么解释offset属性代表什么

该函数以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。语法OFFSET(reference,rows,cols,height,width)Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值 #VALUE!。Rows 相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数 Rows,则说明目标引用区域的左上角单元格比 reference 低 5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。Cols 相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数 Cols,则说明目标引用区域的左上角的单元格比 reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。Height 高度,即所要返回的引用区域的行数。Height 必须为正数。Width 宽度,即所要返回的引用区域的列数。Width 必须为正数。说明如果行数和列数偏移量超出工作表边缘,函数 OFFSET 返回错误值 #REF!。如果省略 height 或 width,则假设其高度或宽度与 reference 相同。函数 OFFSET 实际上并不移动任何单元格或更改选定区域,它只是返回一个引用。函数 OFFSET 可用于任何需要将引用作为参数的函数。例如,公式 SUM(OFFSET(C2,1,2,3,1)) 将计算比单元格 C2 靠下 1 行并靠右 2 列的 3 行 1 列的区域的总值。该函数的意思是以"进口数量"工作表的D31单元格为参照,0表示偏移的行数(同一行),"综合!$A$3"表示以"综合"工作表A3单元格的数值为偏移的列数,后面那个1表示1行,本来还有一个参数,省略了也相当于1(表示1列)。所以,当"综合"工作表A3单元格的数值为1时,公式的实际结果就是"进口数量"工作表E31单元格的值。

javascript中offset什么意思啊如下arguments.callee.offset中offset的具体含义是什么啊,求详解!

/*不知道楼主的程序是要做什么……不过我看到offset首先想到css的偏移量。callee 属性是 arguments 对象的一个成员,该属性仅当相关函数正在执行时才可用。callee 属性的初始值是正被执行的 Function 对象。这将允许匿名函数成为递归的。*//*IE、Firefox3及更高和Opera9.5及更高为每一个元素提供了一个getBoundingClientRect()方法。这个方法返回一个矩形对象,含4个属性:left、top、right和bottom。这些属性给出了元素在页面中相对于视口的位置。但IE认为左上角坐标为(2,2),其他浏览器认为是(0,0)。*/ //所以我用过的方法是这样的(获取元素大小):function getBoundingClientRect(element){ var scrollTop = document.documentElement.scrollTop; var scrollLeft = document.documentElement.scrollLeft;     if(element.getBoundingClientRect){         If(typeof arguments.callee.offset != "number"){             var temp = document.createElement("div");             temp.style.cssText = "position:absolute;left:0;top:0;";             document.body.appendChild(temp);             arguments.callee.offset = -temp.getBoundingClientRect().top - scrollTop;             document.body.removeChild(temp);             temp = null;         }             var rect = element.getBoundingClientRect();         var offset = arguments.callee.offset;             return{             left: rect.left + offset,             right: rect.right + offset,             top: rect.top + offset,             bottom: rect.bottom + offset         };     }else{         var actualLeft = getElementLeft(element);         var actualTop = getElementTop(element);             return{             left: actualLeft - scrollLeft,             right: actualLeft + element.offsetWidth - scrollLeft,             top: actualTop - scrollTop,             bottom: actualTop + element.offsetHeight - scrollTop         }     } }

关于JavaScript中argument.caller的理解问题!谢谢!

    首先要分清caller和callee,arguments.callee返回当前正在执行的函数,function.caller返回函数的调用体所在函数。

随便弄了个示例代码

function parentCheck() {    check("");    function check() {        subCheck();        function subCheck() {            console.log(arguments.callee);            console.log(subCheck.caller.caller)        }    }}parentCheck();

    arguments.callee返回subCheck的函数体,subCheck.caller返回调用subCheck的函数,即check,而再往上一层,subCheck.caller.caller就是返回调用check的函数体,也就是parentCheck。那如果是继续往上一层呢?subCheck.caller.caller.caller?就会变成null。书里也有讲,arguments.caller在非严格模式下永远是undefined。我们就可以判断值是null还是undefined来区分arguments.caller和函数的caller。

    JS的函数是可以无限嵌套的,就构成了一棵树,而function.caller就提供了一个访问父节点的方法,通过灵活应用function.caller,我们甚至可以用脚本画出整棵树,只要我们在任意地方成功插入一段JS代码,又或者是,像网站统计之类的第三方代码,我们就能窥视其他代码。

    所以为了安全期间,严格模式禁止调用caller、callee、arguments变量,在浏览器中的报错为

Uncaught TypeError: ’caller’, ’callee’, and ’arguments’ properties may not be accessed on strict mode functions or the arguments objects for calls to them

个人敝见,无书可循,希望对您有帮助

火狐和ie下获取javascript 获取event的方法(推荐)

javascript获取event先从一个简单的例子说起,一个简单的button控件如下:《inputtype=’button’name=’mybtn’id=’mybtn’onclick=’myFunc()’/》然后为其注册事件,这样的情况,怎么在javascript里获取event呢,特别是firefox的情况。请看:《scripttype=’text/javascript’》functionmyFunc(){varev=window.event||arguments.callee.caller.arguments,et=ev.srcElement||ev.target;alert(et.tagName);}《/script》不出意外的话,在ie/ff下,上面例子都将输出INPUT,即是触发click事件节点的标签名,ie的event获取这里就不说了,重点说说ff下的情况。这里的arguments.callee.caller.arguments看起来又长又怪,为什么在firefox的情况下,这个东西就是event呢?首先得了解arguments.callee是什么东西,caller又是什么样的属性?argments.callee就是函数体本身,arguments.callee.caller就是函数体的调用函数体简单例子如下:《scripttype=’text/javascript’》functiona(){b();}functionb(){alert(b===arguments.callee)alert(b.caller===a)alert(arguments.callee.caller===a)}a();《/script》不出意外,上面的例子将输出3个true,表明当a()调用时,函数b与函数a的关系。好,弄清楚了arguments.callee与caller,我们再把原先的例子改改《scripttype=’text/javascript’》functionmyFunc(){alert(arguments.callee.caller.toString())varev=window.event||arguments.callee.caller.arguments,et=ev.srcElement||ev.target;}《/script》我们把argument.callee.caller的函数体输出,看看到底在ie和ff下有何区别.可以看到ie下输出为functionanonymous(){myFunc()}ff下输出为functiononclick(event){myFunc();}由此看出在html控件中直接注册事件在ie/ff下表现的不同,ie下定义了一个匿名函数,内部再执行用户定制的函数(myFunc),而ff下则有所不同,首先ff下定义了一个与节点事件同名的函数,这里是onclick事件,所以是functiononclick,然后event作为一个参数传入,内部再执行myFunc.所以当事件触发时,在myFunc里,argument.callee.caller就是指向functiononclick,当然,argument.callee.caller.arguments即为event了.以上这篇火狐和ie下获取javascript获取event的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

关于arguments callee和求助:js下面这行代码activeXString是什么 typeof arguments.callee.activeXString!=“string“的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

arguments callee(求助:js下面这行代码activeXString是什么  typeof arguments.callee.activeXString!=“string“)

本文编辑:admin
arguments callee ,c ,js

更多文章:


暗黑1 09装备库(暗黑破坏神2最好的装备是什么)

暗黑1 09装备库(暗黑破坏神2最好的装备是什么)

其实暗黑1 09装备库的问题并不复杂,但是又很多的朋友都不太了解暗黑破坏神2最好的装备是什么,因此呢,今天小编就来为大家分享暗黑1 09装备库的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录暗黑破坏神2最好的装备

2023年11月5日 16:15

幻世录2修改器(幻世录2修改器问题)

幻世录2修改器(幻世录2修改器问题)

本篇文章给大家谈谈幻世录2修改器,以及幻世录2修改器问题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录幻世录2修改器问题幻世录2补丁和修改

2024年6月10日 15:44

dj舞曲大全5000首中文(好听的酒吧DJ歌曲)

dj舞曲大全5000首中文(好听的酒吧DJ歌曲)

今天给各位分享好听的酒吧DJ歌曲的知识,其中也会对好听的酒吧DJ歌曲进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录好听的酒吧DJ歌曲求几首声音超大很HI的DJ歌曲~适合蹦迪的dj舞曲有哪些好听的dj中文歌曲有

2024年8月13日 22:50

陈桥五笔输入法(陈桥五笔怎么输入词组)

陈桥五笔输入法(陈桥五笔怎么输入词组)

各位老铁们好,相信很多人对陈桥五笔输入法都不是特别的了解,因此呢,今天就来为大家分享下关于陈桥五笔输入法以及陈桥五笔怎么输入词组的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录陈桥五笔怎么输入词组极品五笔,极点五

2024年7月8日 14:05

怎么辨别雷克沙U盘的真伪?电脑老是卡顿,想要换个固态硬盘,雷克沙固态硬盘怎么样

怎么辨别雷克沙U盘的真伪?电脑老是卡顿,想要换个固态硬盘,雷克沙固态硬盘怎么样

大家好,关于雷克沙官网很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于怎么辨别雷克沙U盘的真伪的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录怎么辨别雷

2024年6月13日 11:50

苹果手机直接下载铃声(苹果怎么下载铃声)

苹果手机直接下载铃声(苹果怎么下载铃声)

本篇文章给大家谈谈苹果手机直接下载铃声,以及苹果怎么下载铃声对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录苹果怎么下载铃声苹果手机怎么下载铃声苹果手机怎么下载手机铃声苹果怎么下载铃声苹果手机怎么从电脑上下载铃声到手机里苹果手

2024年9月7日 00:55

内存卡读卡器(手机内存卡读卡器怎么用)

内存卡读卡器(手机内存卡读卡器怎么用)

各位老铁们,大家好,今天由我来为大家分享内存卡读卡器,以及手机内存卡读卡器怎么用的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录手机内存卡读卡器怎么

2024年1月3日 00:50

新德利ktv电脑点歌系统(新德利点歌系统的密码是什么)

新德利ktv电脑点歌系统(新德利点歌系统的密码是什么)

各位老铁们好,相信很多人对新德利ktv电脑点歌系统都不是特别的了解,因此呢,今天就来为大家分享下关于新德利ktv电脑点歌系统以及新德利点歌系统的密码是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录新德利点歌

2024年4月5日 18:40

猎杀潜航4和5哪个好玩?猎杀潜航4怎么操作

猎杀潜航4和5哪个好玩?猎杀潜航4怎么操作

大家好,关于猎杀潜航4很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于猎杀潜航4和5哪个好玩的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录猎杀潜航4和

2023年11月25日 12:35

梦幻诛仙如何赚钱(梦幻诛仙如何赚钱)

梦幻诛仙如何赚钱(梦幻诛仙如何赚钱)

本篇文章给大家谈谈梦幻诛仙如何赚钱,以及梦幻诛仙如何赚钱对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录梦幻诛仙如何赚钱梦幻诛仙新人如何赚钱

2023年12月29日 07:30

nokia x5(Nokia X5支持内存卡吗)

nokia x5(Nokia X5支持内存卡吗)

大家好,如果您还对nokia x5不太了解,没有关系,今天就由本站为大家分享nokia x5的知识,包括Nokia X5支持内存卡吗的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录Nokia X5支持内存卡吗诺基亚

2024年6月16日 04:30

中兴青漾2手机冲不上电是什么问题?中兴青漾2手机(无法下电池和后盖的那种)掉进水后自动开机屏幕闪了几下后黑屏,然后一直没反应怎么办

中兴青漾2手机冲不上电是什么问题?中兴青漾2手机(无法下电池和后盖的那种)掉进水后自动开机屏幕闪了几下后黑屏,然后一直没反应怎么办

其实中兴青漾2的问题并不复杂,但是又很多的朋友都不太了解中兴青漾2手机冲不上电是什么问题,因此呢,今天小编就来为大家分享中兴青漾2的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录中兴青漾2手机冲不上电是什么问题中

2024年1月5日 06:10

microsoft edge官网下载(ipad如何下载最新版的edge)

microsoft edge官网下载(ipad如何下载最新版的edge)

大家好,今天小编来为大家解答以下的问题,关于microsoft edge官网下载,ipad如何下载最新版的edge这个很多人还不知道,现在让我们一起来看看吧!本文目录ipad如何下载最新版的edge不小心把电脑带的Microsoft Edg

2024年8月27日 14:55

抚顺石化新员工入职时间?辽阳石化与抚顺石化哪个厉害

抚顺石化新员工入职时间?辽阳石化与抚顺石化哪个厉害

大家好,关于抚顺石化很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于抚顺石化新员工入职时间的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录抚顺石化新员工

2023年12月5日 06:45

中关村报价大全手机(vivoX6D手机多少钱一台)

中关村报价大全手机(vivoX6D手机多少钱一台)

其实中关村报价大全手机的问题并不复杂,但是又很多的朋友都不太了解vivoX6D手机多少钱一台,因此呢,今天小编就来为大家分享中关村报价大全手机的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录vivoX6D手机多少

2024年9月23日 10:45

网易cc直播(男生播网易cc怎么样)

网易cc直播(男生播网易cc怎么样)

各位老铁们,大家好,今天由我来为大家分享网易cc直播,以及男生播网易cc怎么样的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录男生播网易cc怎么样c

2024年6月14日 23:26

lols3赛季(2013年英雄联盟是s几,有不有重生技能)

lols3赛季(2013年英雄联盟是s几,有不有重生技能)

大家好,今天小编来为大家解答以下的问题,关于lols3赛季,2013年英雄联盟是s几,有不有重生技能这个很多人还不知道,现在让我们一起来看看吧!本文目录2013年英雄联盟是s几,有不有重生技能英雄联盟赛季奖励是什么英雄联盟历年赛季结束奖励,

2024年7月12日 19:21

英雄徽章要多少才能够套装?王者荣耀英雄徽章有什么用 英雄徽章用处及获得方法

英雄徽章要多少才能够套装?王者荣耀英雄徽章有什么用 英雄徽章用处及获得方法

大家好,如果您还对英雄徽章不太了解,没有关系,今天就由本站为大家分享英雄徽章的知识,包括英雄徽章要多少才能够套装的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录英雄徽章要多少才能够套装王者荣耀英雄徽章有什么用 英雄

2024年2月27日 21:10

pro e安装(PRO/E5.0怎么安装)

pro e安装(PRO/E5.0怎么安装)

各位老铁们好,相信很多人对pro e安装都不是特别的了解,因此呢,今天就来为大家分享下关于pro e安装以及PRO/E5.0怎么安装的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录PRO/E5.0怎么安装PRO/

2024年1月31日 17:45

76人险胜湖人(湖人主场苦战不敌76人,怎样看待詹姆斯的何去何从)

76人险胜湖人(湖人主场苦战不敌76人,怎样看待詹姆斯的何去何从)

其实76人险胜湖人的问题并不复杂,但是又很多的朋友都不太了解湖人主场苦战不敌76人,怎样看待詹姆斯的何去何从,因此呢,今天小编就来为大家分享76人险胜湖人的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录湖人主场苦

2024年9月18日 18:50

近期文章

本站热文

电脑包尺寸对照表(电脑包要多大)
2024-07-23 11:15:58 浏览:3883
e10000(皖E10000是什么车)
2024-07-17 11:22:25 浏览:3506
ati radeon hd 5650(电脑的显卡是ATI Mobility Radeon HD 5650 (MADION PRO) ( 1 GB ) 这个显卡)
2024-07-07 05:01:37 浏览:3100
华为mate20pro版本区别(mate20pro有必要买ud版吗)
2024-07-24 08:26:42 浏览:2630
ipad买蜂窝版还是wifi版(ipad air 5买蜂窝好不好)
2024-07-17 14:35:19 浏览:2237
vivo y3配置参数(vivoy3参数是什么)
2024-07-16 07:07:06 浏览:2071
标签列表

热门搜索