javaScript高级

        常用方法

instanceof(类型)与isPrototypeOf(原型)             

  判断属性方法 :

1、hasOwnProperty()检测是否在构造函数内部属性

             2、 in                                                                                                                                                                                                                            

 

 

 

 

2、 面向对象编程的特点有:抽象性、封装性、继承性、多态性

抽象性是指 通过对象来分析实际问题。

封装性是指将属性和方法都封装到对象里,而且通过对象分析,防止变量重复使用,节约开发成本、维护成本,封装安全,有公开属性和私有属性。

继承性

多态性是指一个类中可以创建多个对象,但JS基本上用不上。

 

 继承性是指将共有的相同的方法与属性,写在父类中,子类可以直接继承父类的方法与属性。

 我们可以用构造函数创建出三大类,以动物为例进行分类,狗类、猫类、老虎类

狗类

 猫类

老虎类

 

这些动物都有共同的特点,那么狗类、猫类、老虎类,如何继承呢?

那么我们用构造函数创建一个动物类,将所有动物类的特性,封装到一个动物类中,不同的类(如狗类、猫类)等,继承动物类的属性和方法。

1、原型链继承

原型链继承:将Animal创建出来的对象,赋值给Dog的原型,将父级的对象赋值给子级的原型。

但问题是无法对属性进行初始化,所有的属性都是固定的(在创建Animal时已固定了)

2.冒充继承

冒充继承是通过call或者apply来改变this的指向性来完成继承

那call和apply的作用一个就是改变this的指向的

call(对象,参数,参数)来改变this的指向性,那第一个参数:更改this指定到的对象
  后面的参数就是当前方法需要的参数。

apply可以传数组,而call不能,但是apply和call作用都是一样的,改变this的指向性的

3、混合继承

通过冒充继承和原型链继承结合在一起,冒充继承是继承构造函数中的内容,原型链继承是继承原型上的内容。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值