JavaScript的面向对象特性

JavaScript的面向对象特性  

JavaScript是基于对象和事件驱动并具有安全性能的脚本;JavaScript虽然不是面向对象的编程语言但具有很多面向对象的特性。

1.面向对象开发

  a) 对象的创建

    1. var obj=new Object();
    2. 对象的创建需要构造函数:内置函数使用内置的构造函数来创建;自定义的对象用自定义的构造函数来创建

  b) 对象的调用

    1. 使用创建及时的对象名来调用
    2. 创建对象时所有指向对象的变量都存储了对象的引用,一旦有一个变量的属性改变,所有指向该引用的对象的属性值都改变

  c) 对象的属性和方法

  d) 对象的废除

    1. 将所有对象的引用设置为null来强制废除对象。

  e) 对象的绑定(早绑定和晚绑定)--模糊

    1. 绑定:将实例化的对象与类结合
    2. 早绑定:在实例化之前定义对象的属性和方法--C#、Java、VB
    3. 晚绑定:在解释器或编译器执行过程中才对对象的类型进行检查--许多动态语言都是晚绑定的,如JavaScript

2.对象类型

  a) 本地对象

    1. JavaScript提供的与宿主无关的内部对象
    2. 包括:Array、Boolean、Date、String等
    3. 使用时可直接调用这些本地对象,使用前需实例化,需要进行创建工作

  b) 内置对象

    1. JavaScript提供的内部对象
    2. 无需实例化,可直接调用其相关属性
    3. Global、Math

      --Global:其特别之处在于其根本不存在,不能用Global关键字调用其属性和方法。其具有很多的属性和方法,JavaScript中任何不需要使用对象名的属性和方法,以及所有本地的对象的构造方法都是Global对象的属性和方法(自定义对象除外)

  c) 宿主对象

    1. JavaScript解释器(一般是浏览器)提供的可以供JavaScript调用的对象
    2. 例如IE提供的一些Active组件、DOM对象
    3. 宿主对象对运行平台有依赖,所以不是所有浏览器支持宿主对象;但DOM作为W3C标准例外

  d) 作为关联数组的对象

    1. 属性调用:对象名.属性名;对象名[“属性名字符串”]--关联数组对象
    2. 如,由公交线路获得公交数量

      现有1路公交20辆;2路公交30辆;

 

      function busObj(line,num)

         {

      this.line=line;

      this.num=num;

      }

 

    var busAry=new Array();

    利用数组对象(对象的属性不能是字符串,必须是一个变量):

    busAry[0]=new busObj(“1路”,20);

    busAry[1]=new busObj(“2路”,30);

    var num=busAry[0].num+busAry[1];

    利用关联数组对象:

    busAry[“1路”]=20;

    busAry[“2路”]=30;

    var num=busAry[“1路”]+ busAry[“2路”];

posted @ 2017-08-22 18:21  Demetris  阅读(353)  评论(0)    收藏  举报