我有这段代码,
var MyNamespace = MyNamespace || {};
MyNamespace.Calculator = function (eq) {
//state goes here
this.eqCtl = document.getElementById(eq);
};
MyNamespace.Calculator.prototype = function () {
//private members
var add = function (x, y) {
this.eqCtl.innerHTML = x + y;
},
subtract = function (x, y) {
this.eqCtl.innerHTML = x - y;
};
//public members
return {
add: add,
subtract: subtract
};
} ();
Var calc = new MyNamespace.Calculator('eqCtl');
calc.add(2,2);
问题
为什么在添加“MyNamespace”后会出现异常?如果我删除它就可以了......
建议不要使用“new”关键字来创建Douglas Crockford的对象然后我该如何克服这个解决方案。
答案 0 :(得分:1)
你输了一个拼写错误:
Var calc = new MyNamespace.Calculator('eqCtl');
应该是:
var calc = ...