堆栈跟踪函数Javascript

堆栈跟踪函数Javascript,javascript,function,object,Javascript,Function,Object,我知道我在某个地方看到了一个关于这一点的链接,但唉,我不能再把它挖出来了。我在Javascript中使用console.log进行stacktracing时遇到问题,因为它们都是模棱两可的(通常与调用代码的实际位置完全无关) 当然,这并不有利 var myObject = Class.extend({ init: function() { Do Stuff Here }, doOtherStuff: function() { Incorr

我知道我在某个地方看到了一个关于这一点的链接,但唉,我不能再把它挖出来了。我在Javascript中使用console.log进行stacktracing时遇到问题,因为它们都是模棱两可的(通常与调用代码的实际位置完全无关)

当然,这并不有利

var myObject = Class.extend({
    init: function() {
        Do Stuff Here
    },

    doOtherStuff: function() {
        Incorrect Stuff Here - Throws Error
    }
});

var objInstance = new myObject;
objInstance.doOtherStuff;       // Error!
它不会告诉我Firebug stacktrace中的错误发生在哪里。我知道有办法解决这个问题,但我似乎不明白。我知道我错过了一些明显的东西。谢谢你给我指明了正确的方向


编辑:添加了John Resig类声明。使用它们太久了,忘记了所有关于原型的东西(不好),只写了它而没有。修复了它,因此这是实际的代码(我认为我很聪明,绕过类声明以防止混淆…最终看起来很愚蠢)

这实际上是对new的错误使用
myObject
是否应该有函数。这两种方法都应该影响myObject.prototype.init和myObject.prototype.doOtherStuff

此外,就它现在是一个类而言,它的名称不应该让人想到一个对象,它的第一个字母应该是大写的


如果您实际上不想使用new关键字而只是克隆对象,那么您必须找到或编写一个克隆例程。

看看这个js oop指南