调用JavaScript对象中的方法(Calling a method within a Javas

2019-10-29 06:41发布

我试图创建一个JavaScript对象,可以在自身内调用其他方法。 不过,我运行到我刚才似乎无法找出一个奇怪的问题。

我有以下代码

myObjectDef = function() {
    this.init = function() {
        //do some stuff
        this.doSecondInit();
    }
    this.doSecondInit = function() {
        //do some more stuff
    }
}

myObject = new myObjectDef();
myObject.init();

我得到的是美国的错误“消息:对象不支持此属性或方法”。 它在this.doSecondInit结束();. 我不能完全弄清楚它为什么这样做。 我的代码运行大到调用第二种方法。 如何使这项工作?

Answer 1:

有一组额外的括号的位置:

this.doSecondInit() = function() {

你不能分配给一个函数调用的结果,更不用说甚至不存在的函数的结果。

您的编辑后,你的东西似乎很好地工作:

http://jsfiddle.net/nabVN/

你确定你没有在实际的代码相同的错别字? 更好地开始习惯不把那个()每个函数调用,这可能是从那里功能不可值语言带入一个坏习惯后。



文章来源: Calling a method within a Javascript Object