JS高级语法(知识点汇总二)

一、构造函数的常用方法

        

        1、isPrototypeOf()

        定义:构造函数的方法,构造函数原型中,判断对应对象

        2、对象.hasOwnProperty(属性名 key)

        定义:判断当前属性是否在其构造函数里(key:value)

        3、in

        定义:判断对象是否具备对应的属性(key in 对象)

      

         hasOwnProperty        判断是否在构造函数里

         in                                判断是否具有对应属性

        4、面试题

        编写一个方法 判断对象的当前属性  是否是从原型中得到的

二、面向对象编程的特点

        1、抽象性:通过对象分析问题

        2、封装性:属性以及方法 封装到对象中 节约维护成本 安全

                 2.1 公开性

                可以通过对象任意传递    不安全

                可以任意的传递,任意修改,任意的获取,只要找到对应对象就可以任意的去更改的对应属性

                2.2 私有性

                只能通过方法对应的访问 以及设置 无法通过对象直接获取 

        3、继承性:JAVA,PYTHON 会讲继承性

                继承性:父类 写公共的方法和属性 子类继承  节约代码

                3.1  原型链继承

                __proto__ == 构造函数的原型 prototype

                将Animal对象 赋值给 Dog原型上 让父级对象作为子集的原型

                父级: 

                子级: 

                        

                缺点:无法对父级属性进行初始化,所有的属性都是相同的

                 

                3.2  冒充继承

                通过call或者apply更改对应的this指向完成继承

                补充:

                call和apply

                作用:改变this的指向

                

                 A、call()

                .call(对象,参数) 更改对应的this执行 将其对应的this执行 执行参数对象

                参数1:更改this指向的对象

                参数2:当前方法需要的参数

                s1.showInfo.call (s2) // 王二

                s1.adc.call (s2,1,2,3) //  王二123

                B、apply

                .apply(对象,[1,2,3])更改对应的this执行 将其对应的this执行 执行参数对象

                参数改成数组传递

                s1.adc.apply(s2, [3, 4, 5])   // 王二345

                ==》实例:

               

                父级:        

                子级:

                

                3.3  混合继承     

        通过冒充继承 来继承对应属性 ,通过原型继承 继承对应方法

        父级:

         子级:

        孙级:

                原型链图:

        4、多态性:一个类可以创建 多种对象 js基本用不到

练习题:

创建一个人类然后继承学生类以及教师类,分别通过三种不同的继承方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值