我正在使用 websockets 在 JavaScript 中开发一个聊天室应用程序。然而,除了这里和那里的 jQuery 小片段外,我对 JavaScript 的经验很少。
我的问题是,我应该使用什么设计模式来使对象自包含并能够创建它的多个实例而不干扰同一对象的其他实例?此外,当“this”关键字引用当前对象实例以外的内容时,我需要知道如何存储公共对象属性并从事件处理程序中访问它们。
代码示例会很棒!
目前,我正在使用原型设计模式,它似乎工作但不是很优雅 - 至少可以说......特别是我如何处理事件,有没有更好的方法?
我目前正在做类似的事情:
function Room( args ) {
this.container = $( '#room-' + args.id );
this.container.find( '.someBtn' ).on( 'click', this.someEventHandler() );
}
Room.prototype.someEventHandler = function() {
var self = this;
return function( event ) {
console.log( self, this, event );
}
}
谢谢!