• JavaScript面向对象程序设计:数组


    或许你会奇怪,面向对象的程序设计为什么从数组开始讲起?这是因为……其间的种种关系吧……嘿嘿,这里先卖个关子,先来看看我们熟悉的数组在JavaScript里面是什么样子的。
     
    1. 创建数组
     
    在JavaScript中有很多创建数组的方法。比如使用Array函数。不过这不是现在我们要讲述的。现在我们使用简单的方括号“[]”的办法来创建数组。
    Js代码
    [javascript] view plaincopy
    1. 1.var objAyyar = []; // 1      
    2. 2.var objAyyar = [2]; // 2      
    3. 3.var objAyyar = ["a", "b", "c"]; // 3      
    4. 4.var objAyyar = [new Date(), 123, "abc"]; // 4   
      var a = "wedd  wd w ";
      a = a.replace(/s/g,"");
    这里有四个创建数组的语句。下面来一一解释一下: 
    第一句,创建一个空的数组; 
    第二句,创建一个数组,数组元素只有一个2; 
    第三句,创建一个数组,数组的元素分别初始化为"a", "b", "c"; 
    第四句,创建一个数组,其中第一个元素为一个Date类型的对象,第二个元素是数字123,第三个元素是字符串"abc"。 
    回顾一下,在Java或者C++语言中,数组是具有相同的数据类型的元素的集合。比如使用Java语言的下面语句
    Java代码
    1. int[] array = new int[10];    
    将创建一个能放入10个int类型的元素的数组。数组和其他类型的集合的一个很大的区别是,数组里面只能存放相同数据类型的元素(使用泛型的集 合除外)。但是,像上面的第四句,JavaScript的数组怎么能存放不同类型的元素呢?这是因为,JavaScript是弱类型的语言,没有很大的数 据类型的差别,所以数组的元素可以放入不同的类型。
     
    2. 操作数组 
         数组是元素的有序集合。数组中的元素是有序的,这就可以通过下标访问到数组中的每个元素。而且,JavaScript的数组相当的灵活。当你习惯了 Java或者C++的数组之后,或许并不习惯JavaScript的数组。在一定程度上,这种数组可以称为一种动态数组。看这样一段代码。 
    Js代码
    [javascript] view plaincopy
    1. var arr = [1, 2, 3, 4, 5];         
    2. alert(arr.length); // 数组长度为5      
    3. alert(arr[3]); // arr[3] = 4      
    4. arr[9] = 10;    // 改变了数组的长度为10      
    5. alert(arr[7]);      
    6. alert(arr.length);   

    首先创建一个数组arr,可以看到它的长度是5,arr[3]是4。这些都是 很常见的。那么第三句,arr[9] = 10;就有点意思了——在Java中,这句操作将导致数组越界的异常,在C++中,这种操作是极其危险的。但是在JavaScript中,这样的操作是正 常的——你可以动态的改变数组的大小!虽然你在创建数组时并没有这么大的长度,但是,你可以在创建之后指定它!这时的arr.length已经自动的变成 10了。那么,arr[7]又会是什么呢?经过运行代码我们会看到,arr[7]是undefined。也就是说,虽然arr[9]有了值,但是其中从 arr[5]到arr[8]这几个元素都是未定义的,也就是undefined。如果你问JavaScript怎么不给个初始值?唉,饶了它 吧!JavaScript并不知道你想要它初始化成什么值啊!万一错了呢?干脆还是别了吧……
    Js代码

    [javascript] view plaincopy
    1. var arr = [1, 2, 3, 4, 5];              
    2. alert(arr.length); // 数组长度为5      
    3. delete arr[3]; // 删掉第4个元素      
    4. alert(arr.length); // 长度不变      
    5. alert(arr[3]); // arr[3] = undefined      
    6. arr.length = 4; // 缩短长度      
    7. alert(arr[4]);      
    8. arr.length = 10; // 增加长度      
    9. alert(arr[6]);   

     

  • 相关阅读:
    C# 多线程编程及其几种方式
    多态有几种表现形式
    闭包的理解
    C# 泛型类型约束 where
    HTML扩展--HTMLTestRuner HTML测试报告
    编写web自动化测试
    unittest单元测试框架之认识unittest
    自动化测试模型
    处理HTML5视频播放、滑动解锁
    操作Cookie调用JavaScript
  • 原文地址:https://www.cnblogs.com/xiaohaoxuezhang/p/4137108.html
Copyright © 2020-2023  润新知