原型,原型链,call/apply

原型(方法:prototype)

		Person.prototype.lastName = 'yue';
        Person.prototype.say = function () {
            console.log('hehe');
        }
        function Person (name,age,sex) {
            this.name = name;
            this.age = age;
            this.sex = sex;
        }
        var person = new Person('zixuan',18,'femle');
        var person1 = new Person('xx',15,'male');

原型的应用

        Car.prototype = {
            height : 1400,
            lang : 4900,
            carName : 'BMW'
        }
        function Car(color,owner)
        {
            this.color = color;
            this.owner = owner;
        }
        var car = new Car('white', 'yzx'); 
        var car1 = new Car('blue', 'xx'); 

原型链

 Grand.prototype.lastName = "yue";
        function Grand() {

        }
        var grand = new Grand();
        Father.prototype = grand;
        function Father(){
            this.name = 'xx';
        }
        var father = new Father();
        Son.prototype = father;
        function Son (){
            this.habbit = 'smoking';
        }
        var son = new Son();

创建有原型对象方法(更加灵活) var obj = Object.creat(原型)

        var obj = {
            name:'sunny',
            age:18
        };
        var obj1 = Object.create(obj);

call

        function Person (name,age,sex) {
             this.name = name;
             this.age = age;
         }
         var person = new Person('yzx',18);
         var obj = {

         }
        Person.call(obj,'cc',20);//.call使得Person中的this==obj即this.name==obj.name;

apply

        function Person (name,age,sex) {
            this.name = name;
            this.age = age;
            this.sex = sex;
        }
        function Student (name,age,sex,tel,grade) {
            Person.apply(this,[name,age,sex]);
            this.tel = tel;
            this.grade = grade;
        }
        var student = new Student('sunny',123,'femle',123456,2020);
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值