我来到了stackoverflow找到这个问题的答案,因为我发现它是一个神话般的知识来源。这个问题确实出现了很多答案,但我无法找到符合我需求的答案。在Javascript对象中确定一个“类名”
经过多年的服务器端编程工作后,我终于决定在客户端上可以更快地完成很多工作,所以我决定更加热情地跳入JavaScript。
因为我在为一位顾客工作,所以我决定立即尝试做最佳实践。所以,我搜索了如何模仿命名空间和“类”读了,所以我演变代码作为现在怎么如下
var ABC {}; // Create a namespace.
ABC.Object1 = function() {} // A constructor for a class
ABC.Object1.prototype = {
someMethod: function() {}
}
我可以创建变种O =新ABC.Object1()ABD我的目标可以调用 o.someMethod()
但后来我想编写debug()方法,并在其中我想记录一些调试信息。我使用Chrome浏览器,当我断开并跟踪时,我可以看到“o”是“ABC.Object1”类型,但是我无法找到我的方法可以确定“类”名称的地方。我一直把类放在引号中,因为我知道真的没有Javascript类那样的东西。但似乎我应该能够做到这一点。我注意到一些方法使用构造函数的名称,所以我改变了构造函数
function ABC.Object1(){}
但这是错误的语法,因为不应该有一段在那里。
我没有那么多的类,所以我很乐意重做所有的构造函数,但是我想请教关于如何实现它的建议,以便我可以确定类的名称并维护名称空间的想法。通过调用命名空间ABC下的所有东西(不是真实名称,但说明我最大限度地减少了命名冲突的机会。
有人建议在构造函数中放入“this.name =”ABC.Object1“太做作,当然无法扩展
任何意见大加赞赏
顺便说一句,你缺少(可选)分号。 – SLaks 2014-08-31 02:57:57