首页 > 代码库 > javascript开发中的封装模式(转)
javascript开发中的封装模式(转)
1 var bgAuido={ 2 audio : pingfan.$$(‘audio‘), 3 audioBtn : pingfan.$$(‘audioBtn‘), 4 init : function(){ 5 var _this=this; 6 window.addEventListener(touchStart,function(){ 7 _this.audio.play(); 8 window.removeEventListener(touchStart,arguments.callee)
9 },false);10 this.audioBtn.addEventListener(touchStart,function(){11 if(_this.audioBtn.className.replace(/(^\s+)|(\s+$)/g,‘‘)==‘off‘){12 _this.audio.play();13 _this.audioBtn.className=‘‘;14 }else if(_this.audioBtn.className==‘‘){15 _this.audio.pause();16 _this.audioBtn.className=‘off‘; 17 }18 },false)19 20 }21 }22 23 bgAuido.init();
属性与方法,都通过自变量定义给对象,然后通过init()方法整体驱动,但是不方便继承,与赋值更改属性(由于属性值没有预留参数,所以,只能单个更改)。下面的方法可以很方便继承和赋予参数
1 function BgAuido(opt){ 2 opt=opt || {}; 3 this.audio = pingfan.$$(‘audio‘), 4 this.audioBtn = pingfan.$$(‘audioBtn‘), 5 this.width=opt.width || 400; 6 } 7 BgAuido.prototype={ 8 say:function(){ 9 alert(this.width);10 },11 init : function(){12 var _this=this;13 window.addEventListener(touchStart,function(){14 _this.audio.play();15 window.removeEventListener(touchStart,arguments.callee)16 },false);17 this.audioBtn.addEventListener(touchStart,function(){18 if(_this.audioBtn.className.replace(/(^\s+)|(\s+$)/g,‘‘)==‘off‘){19 _this.audio.play();20 _this.audioBtn.className=‘‘;21 }else if(_this.audioBtn.className==‘‘){22 _this.audio.pause();23 _this.audioBtn.className=‘off‘; 24 }25 },false)26 27 }28 }
javascript开发中的封装模式(转)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。