zoukankan      html  css  js  c++  java
  • JavaScript基础——面向对象

    一、面向对象中的概念:

      -一切事物皆对象

      -对象具有封装和继承性

      -信息隐藏

    二、类:一般指比较抽象的东西,如:班级、学生。他表示对现实生活中一类具有共同特征的事物的抽象,其实就是创建对象的模板。

      对象:一般指具体的东西,如:1年级1班、张三。他表示具有属性和动作的实体。

        -对象是一种复合数据类型,将多个数值集中在一个单元中,并且允许使用名字来存储这些值。

        -对象是一个无序属性集合,每个属性都有自己的名字和值,存储在对象中已命名的值可以是原始值,也可以是对象。

    注意:JavaScript类本身也是对象。


    自定义对象:

      创建对象:var style = {};  //创建了一个空的对象。

            var style = {x:1.5,y:5.5,z:0.5}; //用 key:value来书写,key为属性,value为属性的值,属性之间用逗号隔开。

      调用对象的属性:style.x     

          例: var bmw = {name:"宝马",style.x,height:style.y,length:style.z};

             alert(bmw.name + bmw.height);

          例:var people = {name:"alex",age:22,sex:"女",car:bmw};

            alert(people.car.name);

      取得对象属性值的方法:

        - style.x

        - style["x"]


      枚举对象:无方法

        

      静态类:有方法

        

      静态类:直接能调用属性和方法的类。

        with关键字:with(){}  //禁止使用。

      


     非静态类:

      

    或者:

      

     构造函数:this关键字,代指实例化后的当前对象。构造函数本身不能直接使用,由于构造函数生成的是一个类而非具体的对象,需要进行实例化成对象后在操作对象。

     类的实例化:重新定义变量,用new关键字生成对象。

    用枚举方式创建非静态类:

       

     

      另一种赋值方法:

       

      注意:如果实例化时带有参数,重新赋值会覆盖原有值。


     构造函数:

      例如:

        - var arr = new Array(1,2,3,4);

        - var data = new Date();

      概念:

        - new 运算符的后面必须跟着一个函数调用;

        - new 创建了一个新的没有任何属性的对象,然后调用该函数,并把新的对象作为this关键字的值传递;

        - 设计依赖和new一起使用的函数叫做构造函数;

      作用:

        初始化一个新创建的对象。


     实例属性方法(公开属性和方法):构造函数中this关键字引导的属性和方法,可以在实例中使用和更改。

     私有属性方法:构造函数中直接定义的变量和函数(非this.xxx),只能在构造函数内部使用而不可以在实例中或外部使用。应用所有对象都具有的属性和方法,并且值相同。


     prototype:追加属性/方法,追加的是实例化属性/方法,但是追加是属性方法不能调用私用属性/方法。

        

         一般使用方法:用于追加类方法,不建议追加属性。


     对象属性/方法:

        

        原类中没有相关属性,使用时重新加入的属性,只能当前对象使用,其他实例化对象不能使用。

        和prototype区别,prototype是追加到原来类中的属性或方法,而对象属性/方法只能当前对象使用

              


    类属性/方法: 用于类的共有属性。

     


    继承:

    Student.prototype = new People();

     

  • 相关阅读:
    selenium 资料
    SpringMVC上传文件总结
    java 获取当天(今日)零点零分零秒
    存储过程实例基于postgersql
    为webService添加Interceptor(拦截器)
    spring+redis实例(二)
    hibernate字段映射枚举类型
    WordPress 在Ubuntu下安装插件、主题输入FTP后无法创建目录
    spring + redis 实例(一)
    mybatis字段映射枚举类型
  • 原文地址:https://www.cnblogs.com/yz9110/p/8696356.html
Copyright © 2011-2022 走看看