为了账号安全,请及时绑定邮箱和手机立即绑定

Jquery中的extend()跟javaScript中prototype心得

先了解一下prototype的使用

function student(){
    this.getName=function(){
        alert("student");
    }
    this.age=18;
    return this;
};
function teacher(){
    this.getSex=function(){
        alert("man");
    }
    this.age=30;
    return this;
};

student.prototype.age=23;
student.prototype = new teacher();//用teacher中的方法跟属性添加到student原型,学生原型中有的就不覆盖,没有的就添加。

if(!student.prototype.getwhere){
    student.prototype.getwhere=function(){
        alert("Hunan");
    }
}
var stu1 = new student();
var tea1 = new teacher();

alert(stu1.age); //18
stu1.getwhere(); //湖南
stu1.getSex(); //man

给类添加原型中未有的属性或者方法是可以的。但是不能覆盖原型中已有的属性跟方法。像上面给学生原型添加了一个取地址方法,又覆盖了学生的年龄,结果输出不是23是18。(注意这些方法属性都是属于对象的)

再看一下JQuery的extend()

var age=6;
var student={
        getName:function(){
            alert("student");
        },
        age:18
};
var teacher={
        getSex:function(){
            alert("man");
        },
        age:30
};
$.extend(student,teacher);
alert(student.age); //30
student.getSex(); //man

发现原型的age被覆盖了。其实extend最实用的还是用在为jquery扩展静态方法,用Jquery.fn.extend()为jquery的实例扩展方法。

其实这些Json对象跟function 构成的类对象。都有很多方法添加属性跟方法,这里只是简单介绍一种方式.

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消