武汉web培训
达内武汉中心

15827352908

热门课程

JavaScript对象和数组

  • 时间:2016-07-15 10:09
  • 发布:milan
  • 来源:web前端网

对象,其实就是一种类型,即引用类型。而对象的值就是引用类型的实例
ECMAScript 中引用类型是一种数据结构,用于将数据和功能组织在一起。
虽然ECMAScript 是一门面向对象的语言,却不具备传统面向对象语言所支持的类和接口等基本结构
一.Object类型
   在应用程序中的存储和传输数据而言,它是非常理想的选择.
  创建Object 类型有两种。一种是使用new 运算符,一种是字面量表示法
   1.使用new 运算符创建Object
   2.new 关键字可以省略
   3.使用字面量方式创建Object
     var box = { //字面量方式
           name : 'cfdf', //创建属性字段
           age : 28
     };
   注:在使用字面量声明Object 对象时,不会调用Object()构造函数(Firefox 除外)
   4.属性字段也可以使用字符串星矢
     var box = {
         'name' : 'cdf', //也可以用字符串形式
         'age' : 28
      };
  5.给对象创建方法
    var box = {
       run : function () { //对象中的方法
       return '运行';
      }
   }
  6.使用delete 删除对象属性
     delete box.name; //删除属性

二.Array类型
  ECMAScript 中的Array 类型和其他语言中的数组有着很大的区别。虽然数组都是有序排列,
  但ECMAScript中的数组每个元素可以保存任何类型。ECMAScript 中数组的大小也是可以调整的。
    创建Array 类型有两种方式:第一种是new 运算符,第二种是字面量
      1.使用new 关键字创建数组
          var box = new Array(); //创建了一个数组
          var box = new Array(10); //创建一个包含10 个元素的数组
          var box = new Array('cdsf',28,'教师','盐城'); //创建一个数组并分配好了元素
      2.使用字面量方式创建数组
          var box = []; //创建一个空的数组
          var box = ['csdf',28,'教师','盐城']; //创建包含元素的数组
          var box = [1,2,]; //禁止这么做,IE 会识别3 个元素
          var box = [,,,,,]; //同样,IE 的会有识别问题
      注:和Object 一样,字面量的写法不会调用Array()构造函数。(Firefox 除外)。
     3.使用length 属性获取数组元数量
      注:数组最多可包含4294967295 个元素,超出即会发生异常

三.对象中的方法
1.转换方法
      对象或数组都具有toLocaleString()、toString()和valueOf()方法。
     其中toString()和valueOf()无论重写了谁,都会返回相同的值。
     默认情况下,数组字符串调用上述方法都会以逗号隔开。如果使用join()方法,则可以使用不同的分隔符来构建这个字符串。
        var box = ['李炎恢', 28, '计算机编程'];
        alert(box.join('|')); //李炎恢|28|计算机编程
2.栈方法(后进先出)
   ECMAScript 数组提供了一种让数组的行为类似于其他数据结构的方法。可以让数组像栈一样,可以限制插入和删除项的数据结构
   ECMAScript 为数组专门提供了push()和pop()方法。
   push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度。
   pop()方法则从数组末尾移除最后一个元素,减少数组的length 值,然后返回移除的元素。
3.队列方法(先进先出)
   列队在数组的末端添加元素,从数组的前端移除元素。
   通过push()向数组末端添加一个元素,然后通过shift()方法从数组前端移除一个元素。
   ECMAScript 还为数组提供了一个unshift()方法,它和shift()方法的功能完全相反。unshift()方法为数组的前端添加一个元素
   有两种方式实现队列:
     (1)push+shift
      (2)unshift+pop
   注意:IE 浏览器对unshift()方法总是返回undefined 而不是数组的新长度。
4.重排序方法
   数组中已经存在两个可以直接用来排序的方法:逆向排序 reverse()和从小到大排序 sort()
  注:sort 方法的默认排序在数字排序上有些问题,因为数字排序和数字字符串排序的算法是一样的
         可以通过给sort(参数)方法传递一个函数参数来改变排序特征
      function compare(value1, value2) { //数字排序的函数参数
            if (value1 < value2) { //小于,返回负数
                return -1;
            } else if (value1 > value2) { //大于,返回正数
                 return 1;
            } else { //其他,返回0
                return 0;
            }
          var box = [0,1,5,10,15]; //验证数字字符串,和数字的区别
          alert(box.sort(compare)); //传参
5.操作方法
   concat()方法可以基于当前数组创建一个新数组。
   slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。
   splice()主要用途是向数组的中部插入元素
   eg.
concat(arrayX,arrayX,......,arrayX)
arrayX:必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
         var box = ['csf', 28, '盐城']; //当前数组
         var box2 = box.concat('计算机编程'); //创建新数组,并添加新元素

马上预约七天免费试听课

姓名:

电话:

上一篇:写一个自己的ajax模块
下一篇:关于JS中的constructor与prototype

web前端学习容易犯的错误

web1702“诱人”活动

抽象类和抽象方法

jquery的ajax和getJson跨域获取json数据

选择城市和中心
贵州省

广西省

海南省

有位老师想和您聊一聊