您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

面向对象-创建对象-4种

一、字面量方式创建

        var obj = {....};
        可以后期动态添加
      

二、内置构造函数创建

 var obj = new Object();
        可以后期动态添加        
  

三、工厂函数创建

 解决对象不能集中实例化的问题

1.创建工厂函数

需要手动创建一个对象,手动添加属性,手动返回对象   

  

       
2.使用工厂函数创建对象


           
四、自定义构造函数创建

需要一个模板(表示一类实物的共同特征),让对象生成类(class) 就是对象的模板
JS不是基于类的,而是基于构造函数(constructor)和 原型链 (prototype)


1.制造一个自定义构造函数

系统自动生成对象,存储数值


                   构造函数在使用的时候,需要和new关键字连用

       
2.使用

(1)构造函数和普通函数没有区别,
                只是调用时和 new 关键字连用
                只有和 new 连用的时候,这个函数才会有自动创建和返回对象的能力
                我们写构造函数就是为了使用它的批量生产对象
                如果不和new连用,那么函数就没有创建对象的能力,也没有自动返回对象的能力


(2)书写构造函数,函数名首字母大写
       当看到大写的函数名时,就知道要和 new 连用


(3)调用构造函数时,如果不需要传参可以不写小括号(但不推荐)


(4)当函数名与 new 连用时,函数内部的 this 指向当前实例(new 前面的变量)
      当我们直接在函数内部写 this.xxx = 属性值 ,就是向自动创建出来的对象添加内容


(5)构造函数内部不需要对边写 return
                当你 return 了一个基本数据类型的时候,写了也没用
                当return 一个复杂数据类型的时候,构造函数白写


3.问题


            造函数带来的最大的好处就是创建对象更方便了,但是其本身也存在一个浪费内存的问题
            解决方法:原型

 


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进