javascript 函数取得调用对象的信息。 财富值51

2016-10-13 14:23发布

function testObject(){             this.commonFun=function() {                 console.log(arguments.callee.caller);             }         }          (function () {              function test1() {                 this.test = "test1";                 this.testFun = function () {                     (new testObject()).commonFun();                 }             }              var test1 = new test1();             test1.testFun();          }());           (function () {             function test2() {                 this.test = "test2";                 this.testFun = function () {                     (new testObject()).commonFun();                 }             }              var test2 = new test2();             test2.testFun();         }());

上面的console.log() 打印的调用函数,但我现在想要的是调用对象的信息,如,test1对象调用的返回的是test1的test属性,就是输出 test1,
test2对象调用的返回的是test2的test属性,就是输出 test2

函数commonFun作用是输出调用对象的的某些属性,就像上面的test属性,不能传入参数

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答

你的这个需求,用继承来实现是最合乎逻辑的。如果是需要子类去实现,可以用接口的方式。

可以改写成:

commonFun的caller就一直是testObject,你这种调用方法,做不到通过caller来显示更上一层的调用关系。

首先,你的设计上就有问题,你callee,caller这些取到的都是函数,不是实例,看下面的例子:

一周热门 更多>