Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于Javascript,如果获取未捕获的TypeError不是一个函数_Javascript_Jquery_Javascript Events_Anonymous Types - Fatal编程技术网

对于Javascript,如果获取未捕获的TypeError不是一个函数

对于Javascript,如果获取未捕获的TypeError不是一个函数,javascript,jquery,javascript-events,anonymous-types,Javascript,Jquery,Javascript Events,Anonymous Types,我试图用javascript编写一些匿名函数IFFE的东西,我不明白为什么会出现这个错误 未捕获类型错误:dM.getResources不是一个函数 拨弄 是什么原因造成的 reportGroupDataManager(通常这是reportGroupDataManager.js文件) 数据(当前占位符) IFFE (function(jQ, dM, data) { var self = this; var initializePage = function () {

我试图用javascript编写一些匿名函数IFFE的东西,我不明白为什么会出现这个错误

未捕获类型错误:dM.getResources不是一个函数

拨弄

是什么原因造成的

reportGroupDataManager(通常这是reportGroupDataManager.js文件)

数据(当前占位符)

IFFE

(function(jQ, dM, data) {
    var self = this;

    var initializePage = function () {
       console.log('in init');
    };

    dM.getResources()
        .done(initializePage, function(result) {
            console.log('in fx');
            console.log(result);
            console.log(result.CannotDeleteWithChild);
        });

})($, reportGroupDataManager, data);
因此,通常
dM.getResources()
将从reportGroupDataManager获取数据,其中
result
是一个对象

但对于这段代码,我不确定为什么会出现错误


同上-->

reportGroupDataManager
是一个构造函数,而不是一个对象。但是您需要一个由
reportGroupDataManager
创建的对象。因此,生命应该是这样的:

(function(){
   // ...
})($, new reportGroupDataManager(), data);

reportGroupDataManager
是一个构造函数,而不是一个对象。但是您需要一个由
reportGroupDataManager
创建的对象。因此,生命应该是这样的:

(function(){
   // ...
})($, new reportGroupDataManager(), data);

dM不是构造函数,因此不能使用“this”作为dM的参考

您需要像这样“新建”函数

函数ReportGroupDataManager(){
this.getResources=函数(){
回波信号
}
}
让reportGroupDataManager=新建reportGroupDataManager()
(功能(jQ、dM、数据){
var self=这个;
var initializePage=函数(){
log('in init');
};
dM.getResources()
.done(初始化页、函数(结果){
console.log('in fx');
控制台日志(结果);
console.log(result.CannotDeleteWithChild);
});

})($,reportGroupDataManager,数据)dM不是构造函数,因此不能使用“this”作为dM的参考

您需要像这样“新建”函数

函数ReportGroupDataManager(){
this.getResources=函数(){
回波信号
}
}
让reportGroupDataManager=新建reportGroupDataManager()
(功能(jQ、dM、数据){
var self=这个;
var initializePage=函数(){
log('in init');
};
dM.getResources()
.done(初始化页、函数(结果){
console.log('in fx');
控制台日志(结果);
console.log(result.CannotDeleteWithChild);
});

})($,reportGroupDataManager,数据)顺便说一句,构造函数不需要返回任何东西。甚至不是
(在您的情况下是
self
)未捕获类型错误:reportGroupDataManager不是constructor@MillRunner:您必须有输入错误或其他原因,因为它可以工作:@MillRunner:它甚至可以与您的jsfiddle:对象一起工作。顺便说一句,构造函数不需要返回任何内容。甚至不是
(在您的情况下是
self
)未捕获类型错误:reportGroupDataManager不是constructor@MillRunner:您必须有输入错误或其他原因,因为它可以工作:@MillRunner:它甚至可以与您的jsfiddle:对象一起工作未定义Accught TypeError:(中间值)不是functionUncaught TypeError:(中间值)不是函数
(function(){
   // ...
})($, new reportGroupDataManager(), data);