JS高级学习--面向对象

面向对象:
  1、对象:引用类型
        意义:专门描述现实生活中,一个具体事物的属性和功能的程序结构,事物的属性会成为对象的属性,事物的功能,会成为对象的方法。
        本质:内存当中同时存储多个数据和方法的一块存储空间。
  面向对象:思想
    三大特点:封装、继承、多态
    将来在程序中,都是先用一个对象来封装一个事物的属性和功能,然后在调用对象的方法,来执行任务
 2、如何使用:
      函数:不属于任何一个对象才叫函数
      方法:如果将一个函数放到对象中
      创建对象:三种方法两个场景
        1、创建一个单独的对象
          a、使用对象直接量
            var obj = {
              "属性名":属性值,
              ...:...,
              "方法名":function(){}
            };
            何时使用:如果创建对象时已经非常清楚对象中的所有属性和方法,就用直接量
          b、使用new关键字创建
            var obj = new Object();//创建一个空对象
                    = {};
              obj["属性名"] = 属性值;
              obj.方法名 = function(){};

            在js中可以认为一切对象皆关联数组,可以遍历,用for in循环
              相同:
                1、属性名都是字符串,不可重复
                2、随时添加新的属性和方法
                3、都可以使用for in遍历
            何时使用:可能在创建对象的时候暂时不知道有哪些属性和方法需要后续补充。
       

        批量创建多个相同结构的对象:
          1、定义构造函数
            构造函数:专门定义一类对象相同结构的特殊函数
            如何使用:只要反复创建多个相同结构的对象前,都要先定义构造函数,统一结构。
            如何定义:  
              function 类型名/构造函数名(属性值参数,...){
                this.属性名 = 属性值参数;
                this.方法名 = function(){

                }
              };
              this指向当前正在创建的空对象;
            为什么:代码重用
          2、使用new关键字创建新对象;
            var obj = new 构造函数名(属性值);
            new干了几件事:四件事
              1、创建了一个空对象
              2:?
              3、用新对象调用构造函数,向新对象中添加属性和方法
              4、将对象地址返回给obj       
     

调用对象的属性:
        对象.属性名;

        对象的属性使用方法与变量的使用方法一致
      调用对象的方法:
        对象.方法(参数值);
        对象的方法也可以单独作为一个函数用
      
      问题1:对象的方法中,不能写死对象的属性值,
        解决:在对象的方法中,直接访问当前对象自己的属性
          使用this关键字:this专门用来在对象方法中引用或指代正在调用方法的当前对象本身

      总结:只要在对象的方法中访问对象自己的属性,必须使用this.属性名

示例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值