如何添加命名空间以显示原型模式

时间:2015-10-22 06:47:03

标签: javascript

我有这段代码,

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的对象然后我该如何克服这个解决方案。

小提琴:https://jsfiddle.net/bpo50qjg/

1 个答案:

答案 0 :(得分:1)

你输了一个拼写错误:

Var calc = new MyNamespace.Calculator('eqCtl');

应该是:

var calc = ...