描述 Javascript MVC EventDispatcher 中的"this._sender"?



你好

我不明白它在下面的代码中sender参数的作用。

事件.js::--

var Event = function (sender) {
    this._sender = sender;
    this._listeners = [];
}
Event.prototype = {
    attach: function (listener) {
        this._listeners.push(listener);
    },
    notify: function (args) {
        for (var i = 0; i < this._listeners.length; i += 1) {
            this._listeners[i](this._sender, args);
         }
    }
};

而在

型号.js::--

var Model = function(){
    this.addTaskEvent = new Event(this);
    this.setTasksAsCompletedEvent = new Event(this);
    this.deleteTasksEvent = new Event(this);
}

为什么在活动中需要模型this.js

有人可以描述一下吗?

提前致谢

这段代码是Javascript中面向对象编程的一个示例。此示例中的构造函数是 Event 函数。为了访问原型方法中的 sender 参数,必须将 sender 附加到构造函数上的属性。如果没有该步骤,发件人将未定义。这就是为什么他们将this._sender设置为等于发件人的原因。

此外,创建方法的方式称为伪经典实例化。这里有一篇关于javascript实例化的很棒的文章 http://callmenick.com/post/instantiation-patterns-in-javascript。

相关内容

最新更新