2022-01-14

call和apply

call 和 apply 是用来改变this指向的

call和apply都可以理解为是函数自身的方法

        第一个参数代表了 接下来this所代表的对象

call和apply的区别 

使用call方法来传参 一个一个的传参

使用apply方法来传参 需要传一个数组 数组里面的第一个就对应了f函数里面的

        第一个参数,数组里面的第二个就对应了f函数里面的

        第二个参数


 console.log( f.call(obj1,'bmw','tangc')

console.log( f.apply(obj1,['bmw','tangc']) )

构造函数绑定实现继承

在子类的内部调用父类的方法

    通过call()apply()方法


组合继承

也叫伪经典继承

        将原型链继承和构造函数继承组合在一块

        原型链实现对原型属性和方法的继承

        借用构造函数实现对实例属性的继承

原型属性和方法 */

        // Person.prototype.weight = '70kg';

        // Person.prototype.eat = function(){

        //     console.log('我会吃饭');

        // }

        // function Student(){

        //     /* 借用构造函数实现对实例属性的继承 */

        //     Person.call(this)

        // }

        // /* 原型链实现对原型属性和方法的继承 */

        // Student.prototype = new Person()

        // Student.prototype.contructor = Student;

        // let stu1 = new Student();

        // console.log(stu1);

        // console.log(stu1.weight);

        // stu1.eat();


拷贝继承

把父对象的所有属性和方法,拷贝进子对象 

将父对象的prototype对象中的属性,拷贝给Child对象的prototype对象

父类 */

        // function Person(){}

        // Person.prototype.head = 1;

        // Person.prototype.foot = 2;

        // Person.prototype.eat = function (){

        //     document.write('我会吃饭');

        // }

        // // console.log(Person.prototype);

        // /* 子类 */

        // function Student(){}

        // // console.log(Student.prototype);

        // // for(let key in Person.prototype){

        // //     Student.prototype[key] = Person.prototype[key]

        // // }


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容