我想在我的javascript代码中使用模块设计模式,但我在运行代码时遇到了奇怪的问题。它说“Uncaught SyntaxError:Unexpected token(”
我想问的另一个问题是编写模块模式设计的正确方法是什么?我试图调用其他对象的方法这样做是不是很好?
以下是我的JS代码。
JS代码
var importedArray = [];
var offlineTask = (function(importedArray){
return {
processOfflineConsolidation :function(){
if(importedArray){
if(true){
QSTMRow.mergeQuestion();
}else{
alert('you cannot import data from another Visit\'s assignment');
}
}else{
alert('Imported Array is not accessible or it is null');
}
}
};
})(importedArray);
var QSTMRow = (function(){
mergeQuestion : function(){
/*mergeScore('F.QST_COMP_SCORE',1);
mergeScore('F.QST_MGMT_SCORE',1);
mergeScore('F.QST_IMPL_SCORE',1);
mergeScore('F.QST_ADDITIONAL_RESP1',1);
mergeScore('F.QST_ADDITIONAL_RESP2',1);*/
},
return {
mergeQuestion : mergeQuestion
};
})();
offlineTask.processOfflineConsolidation();
答案 0 :(得分:0)
如前所述,第二个模块的语法无效;你可能想要
var QSTMRow = (function(){
return {
mergeQuestion : function(){
/*mergeScore('F.QST_COMP_SCORE',1);
mergeScore('F.QST_MGMT_SCORE',1);
mergeScore('F.QST_IMPL_SCORE',1);
mergeScore('F.QST_ADDITIONAL_RESP1',1);
mergeScore('F.QST_ADDITIONAL_RESP2',1);*/
}
};
})();
或
var QSTMRow = (function(){
var mergeQuestion = function(){
/*mergeScore('F.QST_COMP_SCORE',1);
mergeScore('F.QST_MGMT_SCORE',1);
mergeScore('F.QST_IMPL_SCORE',1);
mergeScore('F.QST_ADDITIONAL_RESP1',1);
mergeScore('F.QST_ADDITIONAL_RESP2',1);*/
};
return {
mergeQuestion : mergeQuestion
};
})();