推广 热搜: 劳务  合同  海南  2024  江苏  云南  劳务系统  2023  劳务派遣管理软件  劳务派遣管理系统 

javascript写的一个类的demo

   2024-06-10 160
核心提示:pvarClass=function(parent){/ppvarklass=function(){/ppthis.init.apply(this,arguments);/pp};/ppklass.prototype.init=functi
<p>varClass=function(parent){</p><p>varklass=function(){</p><p>this.init.apply(this,arguments);</p><p>};</p><p>klass.prototype.init=function(){</p><p>};</p><p>//定义类的别名</p><p>klass.fn=klass.prototype;</p><p>//判断是否是集成</p><p>if(parent){</p><p>varsubclass=function(){</p><p>};</p><p>subclass.prototype=parent.prototype;</p><p>klass.prototype=newsubclass;</p><p>}</p><p>//包装函数确保他们在正确的作用于被调用</p><p>klass.proxy=function(func){</p><p>varself=this;</p><p>return(function(){</p><p>returnfunc.apply(self,arguments);</p><p>});</p><p>}</p><p>klass.fn.proxy=klass.proxy;</p><p>klass.fn.parent=klass;</p><p>klass._super=klass.__proto__;</p><p>//给类添加属性</p><p>klass.extend=function(obj){</p><p>varextended=obj.extended;</p><p>for(variinobj){</p><p>klass[i]=obj[i];</p><p>}</p><p>if(extended)extended(klass);</p><p>};//给实例添加属性</p><p>klass.include=function(obj){</p><p>varincluded=obj.included;</p><p>for(variinobj){</p><p>klass.fn[i]=obj[i]</p><p>}</p><p>if(included)included(klass)</p><p>}</p><p>returnklass;</p><p>}demo:varAnimal=newClass;</p><p>Animal.include({</p><p>breath:function(){</p><p>console.log('breath');</p><p>}</p><p>});</p><p>varCat=newClass(Animal)</p><p>vartommy=newCat;</p><p>tommy.breath()先创建了一个Animal类,然后里面有breath方法,在创建一个Cat的类继承了Animal,最后实例化一个tommy的毛,里面也有breath方法。本文由免费劳务派遣系统软件系统起航劳务派遣系统原创,转载请注明出处。</p>
 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备18079127号  |  粤ICP备18079127号