优艾设计网

javascript 函数取得调用对象的信息。?

优艾设计网 https://www.uibq.com 2023-06-16 07:31 出处:网络 作者:磨皮美容教程
function testObject(){ this.commonFun=function() { console.log(arguments.callee.caller); } }(function () {function test1() { this.test = \"test1\"; this.testFun = function () { (new testObject()).comm

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属性,不能传入参数


小天天的丫丫 21小时前

优艾设计网_设计圈

可以改写成:


miynefst 优艾设计网_设计LOGO 21小时前

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


xiaominmin123 20小时前

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


青争汶鱼 20小时前

优艾设计网_设计客

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


0

精彩评论

暂无评论...
验证码 换一张
取 消