500 ReferenceError:未定义schoolpp(nodejs)

时间:2013-09-23 06:50:07

标签: javascript node.js

你好我的express nodejs应用程序中有3个文件: 文件FactorySchool.js:

 require("./OBforSchool.js");
function FactorySchool () {
}
FactorySchool.prototype.dofingSchool = function () {
        console.log(this.message);
        return this.message;
    };
 FactorySchool.factorySchool = function (fncontrol) {
        var contr = fncontrol[1];
        var varSchool;
        if (typeof FactorySchool[contr] != "function") {
            console.log("Undifine function");
        } else {
            if (typeof FactorySchool.prototype.dofingSchool != "function") {
                FactorySchool[contr] = new FactorySchool();
            }
            varSchool = new FactorySchool[contr](fncontrol[0]);
        }
        return varSchool;

    };

 //--------------------DEfine method to process school
    FactorySchool.addBlockSC = function (OBblock) {
        return this.message = "add OK";
    }
    FactorySchool.deleteSC = function (OBblock) {
        this.message = "dekete OK";
    }

档案School.js

 //file School.js to call
    var facschool = require('./FactorySchool');
        var obchool = require('./OBforSchool');
        exports.school = function (req, res) {
            var obsc = new Object();
            var detailSchoolob = new Object();
            detailSchoolob.firstname = "Thai";
            detailSchoolob.lastname = "Ngo";
            obsc.agr1 = "addBlockSC";
            obsc.agr2 = detailSchoolob;
            var a = new facschool.FactorySchool.factorySchool(obsc);
            console.log(a);
            a.dofingSchool();

        };

当我打电话

  

var a = new facschool.FactorySchool.factorySchool(obsc);

我收到了错误:500 TypeError: Cannot read property 'factorySchool' of undefined

我如何解决它。  感谢!!!!

1 个答案:

答案 0 :(得分:0)

FactorySchool.factorySchool构造函数中定义FactorySchool。 您应该在访问已定义的属性之前调用它。

但是,如果在构造函数之外定义它会更好。