哪个继承类叫做函数?

时间:2013-04-30 02:55:44

标签: javascript oop object inheritance

我想从调用该函数的函数中找出对象类的名称。我正在使用John Resig的class inheritance concept

例如

var CoreStuff = Class.extend({ log: function(Message) { console.log(who + ' said ' + Message); });

var MyApp = CoreStuff.extend({ init: function() { this.log('Hello world!'); });

var app = new MyApp();

如何在层次结构中找出MyAppCoreStuff或任何其他名为log()的对象?

我不想像当前那样传递当前类的任何参数。

2 个答案:

答案 0 :(得分:2)

var CoreStuff = Class.extend({ log: function(Message) { 
                                         console.log(this.constructor.className + ' said ' + Message);                        }
                                    });
CoreStuff.className = "Core Stuff";    

var MyApp = CoreStuff.extend({ init: function() { this.log('Hello world!'); }});
MyApp.className = "My App";

答案 1 :(得分:0)

这可能看起来很旧,但万一有人仍然奇迹,我最近遇到了这个问题。一切都被称为Class的原因是因为在John的脚本中使用匿名函数的方式。

我在这里写了一篇关于它的文章:http://www.nicolasbize.com/blog/javascript-inheritance-without-loosing-class-names/

作为github上的小js框架的概念证明:http://www.nicolasbize.com/moojs