caller和callee的区别】的更多相关文章

arguments.callee   在函数内部,有两个特殊的对象:arguments 和 this.其中, arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,该属性是一个指针,指向拥有这个 arguments 对象的函数. 请看下面这个非常经典的阶乘函数 function factorial(num){ if (num <=1) { return 1; } else { return num * factorial(num-1) } } 定义阶乘函数…
1 :caller 返回一个调用当前函数的引用 如果是由顶层调用的话 则返回null (举个栗子哈 caller给你打电话的人  谁给你打电话了 谁调用了你 很显然是下面a函数的执行 只有在打电话的时候你才能知道打电话的人是谁 所以对于函数来说 只有caller在函数执行的时候才存在) var callerTest = function() { console.log(callerTest.caller) ; } ; function a() { callerTest() ; } a() ;//…
①.caller caller返回一个函数的引用,这个函数调用了当前的函数. 使用这个属性要注意: 1 这个属性只有当函数在执行时才有用 2 如果在javascript程序中,函数是由顶层调用的,则返回null functionName.caller: functionName是当前正在执行的函数.  例子1: 复制代码 代码如下: var a = function() { alert(a.caller); } var b = function() { a(); } b(); 上面的代码中,b调…
一.call 方法 调用一个对象的一个方法,以另一个对象替换当前对象(其实就是更改对象的内部指针,即改变对象的this指向的内容). 即  “某个方法”当做“指定的某个对象”的“方法”被执行. Js代码 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项.将被用作当前对象的对象. arg1, arg2, , argN 可选项.将被传递方法参数序列. 说明 call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的…
在函数内部,arguments.callee该属性是一个指针,指向拥有这个arguments对象的函数; 而函数对象的另一个属性:caller,这个属性保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为null. <script type="text/javascript"> function inner(){ alert(arguments.callee); //指向拥有这个arguments对象的函数,即inner() alert(argumen…
1 :caller 返回一个调用当前函数的引用 如果是由顶层调用的话 则返回null (举个栗子哈 caller给你打电话的人  谁给你打电话了 谁调用了你 很显然是下面a函数的执行 只有在打电话的时候你才能知道打电话的人是谁 所以对于函数来说 只有caller在函数执行的时候才存在) var callerTest = function() { console.log(callerTest.caller) ; } ; function a() { callerTest() ; } a() ;//…
先介绍每个的语法: 1. bind() 语法:fn.bind(thisObj[, arg1[, arg2[, ...]]]) fn:是想要改变this指向的函数 thisObj:表示fn中this指针指向的新对象.可选. 作用:改变this指向,并返回一个函数. 后面的参数:看似复杂,实际上就相当于一个一个列出来,即fn.bind(thisObj, arg1, arg2, ...).参数也可以为单独的数组,例如:fn.bind( thisObj,1,2,[3,34] );.可选 注意: 这个方式…
Arguments : 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n] 参数function :选项.当前正在执行的 Function 对象的名字. n :选项, 要传递给 Function 对象的从0开始的参数值索引. 说明Arguments :是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象.Arguments是一个类似数组但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的…
caller返回一个对函数的引用,该函数调用了当前函数. functionName.caller functionName 对象是所执行函数的名称. 说明对于函数来说,caller 属性只有在函数执行时才有定义. 如果函数是由 Javascript 程序的顶层调用的,那么 caller 包含的就是 null .下面的例子说明了 caller 属性的用法: js 代码: function callerDemo() { if (arguments.caller) { var a = callerDe…
一.Arguments该对象代表正在执行的函数和调用他的函数的参数.[function.]arguments[n]参数function :选项.当前正在执行的 Function 对象的名字.n :选项.要传递给 Function 对象的从0开始的参数值索引.说明:Arguments是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象.Arguments是个类似数组但不是数组的对象,说他类似数组是因为其具备数组相同的访问性质及方式,能够由arguments[n]来访问对应的单个参数的值,并…
我们先来看下caller. caller:返回一个对函数(该函数调用了当前函数)的引用. functionName.caller:functionName对象是所执行函数的名称. 说明 对于函数来说,caller 属性只有在函数执行时才有定义.如果函数是由顶层调用的,那么 caller 包含的就是 null .如果在字符串上下文中使用 caller 属性,那么结果和 functionName.toString 一样,也就是说,显示的是函数的反编译文本. 下面的例子说明了 caller 属性的用法…
ECMAScript5规范了函数对象的属性:caller.除了Opera的早期版本不支持,其他浏览器都支持这个ECMAScript3并没有定义的属性. [IE,Firefox,Chrome,Safari的所有版本以及Opera9.6都支持caller属性] 这个属性保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为null. functionName.caller 返回调用者. eg: function outer(){ inner(); } function inner…
arguments对象是比较特别的一个对象,arguments非常类似Array,但实际上又不是一个Array实例. 它指的是函数对象里的参数,且只能在函数内部使用. 使用 检测函数的参数个数,引用属性 arguments.length. 访问:arguments[0] 1.arguments对象的长度是由实参个数而不是形参个数决定的. function a(a,b,c){ console.log(arguments.length) console.log(arguments[3]) b=b-a…
1.前言 arguments, caller ,   callee 是什么? 在JavaScript 中有什么样的作用?本篇会对于此做一些基本介绍. 本文转载自:http://blog.csdn.net/oscar999/article/details/8511335 2. arguments arguments:  在函数调用时, 会自动在该函数内部生成一个名为 arguments的隐藏对象. 该对象类似于数组, 但又不是数组.可以使用[]操作符获取函数调用时传递的实参. <!--by osc…
caller: caller是函数对象的一个属性,指的是这个函数对象的调用者,如果调用者,如果是顶层调用者,则返回null. 例: function func(){ console.log(func.caller); } function obj(){ func();// 调用者为obj函数 } obj(); func(); //调用者为顶级对象 所以为null callee callee则是arguments对象的一个属性,该属性指向本函数的引用 function func(){ consol…
1.函数的caller属性 (1).区分函数是在函数体调用还是顶层代码中调用:顶层中调用函数,该函数的caller属性返回null,在函数中调用,会返回调用发i函数的函数: <script> function testFun(){ if(testFun.caller === null){ document.write('在顶层中调用'); }else{ document.write('在h函数中调用'); document.write('在' + testFun.caller.name + '…
caller 返回一个对函数的引用,该函数调用了当前函数.    functionName.caller     functionName对象 是所执行函数的名称.  说明        对于函数来说,caller 属性只有在函数执行时才有定义.如果函数是由顶层调用的,那么 caller 包含的就是 null .如果在字符串上下文中使用 caller 属性,那么结果和 functionName.toString 一样,也就是说,显示的是函数的反编译文本. 下面的例子说明了 caller 属性的用…
caller 返回一个调用当前函数的引用: callee 返回一个正在被执行函数的引用: 举个例子: 当前有函数 a() 直接使用了caller 方法: b() 直接使用了callee方法: ca() 调用了函数 a : cb() 调用了函数 b : -------------------------------------------- ca() 的执行结果将返回函数 ca 本身: cb() 的执行结果将返回函数 b 本身: ----------------------------------…
1.前言 arguments, caller ,   callee 是什么? 在javascript 中有什么样的作用?本篇会对于此做一些基本介绍. 2. arguments arguments:  在函数调用时, 会自动在该函数内部生成一个名为 arguments的隐藏对象. 该对象类似于数组, 但又不是数组.可以使用[]操作符获取函数调用时传递的实参. <!--by oscar999 2013-1-16--> <!DOCTYPE html PUBLIC "-//W3C//D…
一.caller属性返回一个对函数的引用,该函数调用了当前函数.functionName.callerfunctionName 对象是所执行函数的名称.说明对于函数来说,caller 属性只有在函数执行时才有定义. 如果函数是由 Javascript 程序的顶层调用的,那么 caller 包含的就是 null .下面的例子说明了 caller 属性的用法: function callerDemo() { if (arguments.caller) { var a= callerDemo.call…
Function.caller指向当前函数的调用者,是arguments.caller的替代者 arguments.caller也是指向当前函数的调用者,已被废弃 arguments.callee是对当前函数的引用,只能在函数内部使用,ES5严格模式已被废弃 arguments.callee.caller就是Function.caller…
caller:是一个函数引用(当前执行函数”被调用的地方”{即这个”被调用的地方”函数引用},如果这个”被调用的地方”是window,则返回[null]),是函数名的属性: var a = function() { alert(a.caller); //输出:var b = function() {a();} } var b = function() { a(); } b(); callee:返回当前执行函数本身,是arguments的属性. var a = function() { alert…
------------------------------------ 1.函数的调用方式,与this的指向问题,原型对象中的this 2.对象创建的几种方式! 3.str.replace 页面初始化话之后,初始化的页面DOM元素绑定事件,通过给实例对象设置一个方法. this.container =$(html) 将事件绑定在容器上由子元素触发,一个独立的功能就是一个容器 在绑定事件的的时候,将实例化对象先保存一下,这样在事件绑定的函数中就能使用这实例化对象了 this.container包…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> /*callee*/ function fn(canshu1,canshu2) { console.log(canshu1 === arguments[0]); console.log("a…
一.Function 函数是对象,函数名是指针. 函数名实际上是一个指向函数对象的指针. 使用不带圆括号的函数名是访问函数指针,并非调用函数. 函数的名字仅仅是一个包含指针的变量而已.即使在不同的环境中执行,全局的sayColor()函数 与 obj.sayColor() 指向的仍是同一个函数. 在函数内部,有两个特殊的对象,this 和 arguments . 以下 总结自 <高程三 P110 > 每个函数都是Function类型的实例,函数都是对象,因此函数名实际上也是一个指向函数对象的指…
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // object typeof isNaN; // function typeof isNaN(123); //boolean typeof []; // object Array.isArray(); // false toString.call([]); // [object Array] var a…
Ref: Javascript 严格模式详解 使得Javascript在更严格的条件下运行: - 消除Javascript语法的一些不合理.不严谨之处,减少一些怪异行为; - 消除代码运行的一些不安全之处,保证代码运行的安全: - 提高编译器效率,增加运行速度: - 为未来新版本的Javascript做好铺垫. (1) 需要在有效运行代码的第一行. <script> "use strict"; console.log("这是严格模式."); </s…
温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // object typeof isNaN; // function typeof isNaN(123); //boolean typeof []; // object Array.isArray(); // false toString.call([]); // [object…
  asterisk在正常通话过程中执行拨号计划中动作是通过feature.conf中的[applicationmap ]下定义的,举例如下: nway-start => *0,callee,Macro,nway-start nway-zhustart => *0,caller,Macro,nway-zhustart nway-inv => *7,caller,Macro,nway-ok nway-noinv => *9,self,Macro,nway-notok zhugoto-…
一.call 方法 调用一个对象的一个方法,以另一个对象替换当前对象(其实就是更改对象的内部指针,即改变对象的this指向的内容). 即  “某个方法”当做“指定的某个对象”的“方法”被执行. Js代码 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项.将被用作当前对象的对象. arg1, arg2, , argN 可选项.将被传递方法参数序列. 说明 call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的…