时间:2021-05-26
//类的定义
//方法一:类的一般定义方法
functionplayer1(_name)
{
this.name=_name;
this.say=function(){alert(this.name);};
}
varp1=newplayer1('llinzzi1');
p1.say();
//方法二:prototype定义方法
varplayer2=function(){}
player2.prototype={
name:'',
say:function(){
alert(this.name);
}
}
varp2=newplayer2();
p2.name='llinzzi2';
p2.say();
//方法三:上面的方法结构美观,便捷,但构建函数不能带参数,修改方法
varplayer3=function(){
this.init.apply(this,arguments);
}
player3.prototype={
init:function(_name){
this.name=_name;
},
say:function(){
alert(this.name);
}
}
varp3=newplayer3('llinzzi3');
p3.say();
//类的继承
//方法一
varplayer4=function(){
this.init.apply(this,arguments);
}
player4.prototype=newplayer3;
player4.prototype.shout=function(){
alert(this.name.toUpperCase());
}
varp4=newplayer4('llinzzi4');
p4.shout();
//方法二上面的方法不能采用{}的方法,修改方法
Object.extend=function(destination,source){
for(varpropertyinsource)
destination[property]=source[property];
returndestination;
};
varplayer5=function(){
this.init.apply(this,arguments);
}
Object.extend(Object.extend(player5.prototype,player3.prototype),{
shout:function(){
alert(this.name.toUpperCase());
}
});
varp5=newplayer5('llinzzi5');
p5.shout();
//再从prototype.js抄一端浏览器判断代码
Browser={
IE:!!(window.attachEvent&&!window.opera),
Opera:!!window.opera,
WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,
Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,
MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
}
alert(Browser.MobileSafari);
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
尽管面向对象JavaScript与其他语言相比之下存在差异,并由此引发了一些争论,但毋庸置疑,JavaScript具有强大的面向对象编程能力本文先从介绍面向对象
感叹是为了缓解严肃的气氛并引出今天要讲的话题,”javascript面向对象编程”,接下来,我们围绕面向对象的几大关键字:封装,继承,多态,展开。封装:java
感叹是为了缓解严肃的气氛并引出今天要讲的话题,”javascript面向对象编程”,接下来,我们围绕面向对象的几大关键字:封装,继承,多态,展开。封装:java
本文承接上一篇JavaScript面向对象编程(1)基础。上篇说过,JavaScript没有类的概念,需要通过函数来实现类的定义。先通过一个例子说明:复制代码代
这两天有个前同事总在问我Javascript面向对象的东西,所以,索性写篇文章让他看去吧,这里这篇文章主要想从一个整体的角度来说明一下Javascript的面向