我正在使用WebSockets编写JavaScript聊天室应用程序。但是,除了这里那里的一些小jQuery代码片段外,我对JavaScript很少有经验。
我的问题是,我应该使用什么设计模式来使对象自包含,并能够创建多个实例而不干扰同一对象的其他实例?此外,我需要知道如何存储公共对象属性并在事件处理程序中访问它们,当“this”关键字指的是当前对象实例之外的其他东西时。
最好附带代码示例!
目前,我正在使用原型设计模式,它似乎可以工作,但不是很优雅...特别是在处理事件方面,是否有更好的方法?
我当前正在做类似于以下内容的事情:
我的问题是,我应该使用什么设计模式来使对象自包含,并能够创建多个实例而不干扰同一对象的其他实例?此外,我需要知道如何存储公共对象属性并在事件处理程序中访问它们,当“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 );
}
}