js对象知识总结

一、创建对象的四种方式优缺点

        1、直接创建对象,好处:简单,方便。缺点:无法量产

        2、工厂模式创建对象,好处:可以量产对象。缺点:通过工厂创建出来的对象无法明确对应的类型。

        3、构造函数创建对象,好处:可以确定类型。缺点:共用的方法,占据内存。

4、原型模式创建对象,将共有的办法放入构造函数的原型里 __proto__为实例化对象的原型,protype是构造函数的原型。

二、创建对象的时候new做了什么?

        1、创建一个空对象{}

        2、执行后面的构造函数,将函数内容this,指向空对象

        3、函数执行完成后,将创建的空对象返回给前面的变量

三、面向对象的编程特点?

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

        2、封装性:将属性和方法都封装到对象中,方便后期维护,节约二次开发成本

        3、继承性:将对象的直接属性和方法进行传递

        4、多态性:一个类,可以产生多个对象

四、对象属性

        1、公有属性:可以任意访问,修改。

        2、私有属性:必须通过方法才能进行访问或者修改,一般适用于密码,有一定校验规则的数据比如:邮箱,手机号

五、对象的继承方法

        1、原型链继承:将原型改为对应的对象。缺点:无法初始化属性。

        2、冒充继承:通过call或者apply改变原有函数的this指向,实现继承原对象的构造函数。缺点:无法将原型中所带有的方法和属性继承。

        3、混合继承(冒充+原型链继承)

六、call和apply的区别

        1、 .call(对象,参数,参数) 改变this的指向

                第一个参数:更改this指定到的对象

                后面的参数就是当前方法需要的参数

       2、 .apply(对象,[参数,参数,参数])

                改变this指向 ,还可以改变传参的方式 , 统一的用数组传参

     我们经常使用Math.max()或者Math.min()方法来从一组数据中获取最大或者最小的数

Math.max()语法:Math.max(n1,n2,n3,...,nX),获取里面参数的最大值,不能是数组

七、面向对象 set get 作用以及目的

        get和set不是类的属性,而是字段的属性,控制私有字段的可访问性,用于保护内部数据的安全,get用于获取字段的值(只读属性)意思是只能读取而不能对其赋值,set用于获取字段的值(只写属性)意思是只能赋值而不能读取。如果将get和set绑定在一起就是字段的封装,类里面有静态和非静态,static可以用于修饰方法、变量、类、字段、属性,用static修饰的方法称为静态方法,需使用类名调用,调用前需要初始化。

        目的:实现属性的私有性,增强数据的安全性

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值