Javascript中的对象和数组学习总结(一)

来源:岁月联盟 编辑:exp 时间:2012-04-28

一.Object 类型

  1.使用 new 运算符创建 Object
    var box = new Object();
    
    box.name = 'heaven';
    
    box.age = 21;
    
  2.new 关键字可以省略
    var box = Object();
   
  3.使用字面量方式创建 Object
    var box = {
    
      name : 'heaven',
    
      age : 21
    };
  4.属性字段也可以使用字符串
    var box = {
      'name' : 'heaven',
   
      'age' : 21
    };
  5.使用字面量及传统赋值方式
    var box = {};
  
      box.name = 'heaven';
  
      box.age = 21;
  6.两种属性输出方式
    alert(box.age);
  
    alert(box['age']);
  
   
  7.给对象创建方法
    var box = {
      run : function () {
  
        return '跑';
      }
    }
    alert(box.run());
  
  8.使用 delete 删除对象属性
    delete box.name;
  
  使用实例:
  function box(obj) {
  
    if (obj.name != undefined) alert(obj.name); //判断属性是否存在
    if (obj.age != undefined) alert(obj.age);
  }
  box({
  
    name : 'heaven',
    age : 21
  });
二.Array 类型

  1.使用 new 关键字创建数组
    var box = new Array();
  
    var box = new Array(10);
  
    var box = new Array('heaven',28);
  
  2.以上三种方法,可以省略 new 关键字。
    var box =Array();
  
  3 使用字面量方式创建数组
    var box = [];
  
    var box = ['heaven',21];
  
      
  4.使用索引下标来读取数组的值
    alert(box[1]);
  
    box[1] = '学生';
  
    box[2] = '电子商务';
  
  5.使用 length 属性获取数组元素量
    alert(box.length)

    box.length = 10;
  
    box[box.length] = 'JS 技术';
  
  6.数组示例
    var box = [
            {
  
              name : 'heaven',
              age : 21,
              run : function () {
                return '跑';
              }
            },
            ['百度','谷歌',new Object()],'淘宝',
  
            25+25,
  
            new Array(3,2,7)
  
          ];
    alert(box);
  
三.对象中的方法
转换方法
对象或数组都具有toLocaleString()、 toString()和valueOf()方法。 其中toString()和valueOf()
无论重写了谁,都会返回相同的值。数组会讲每个值进行字符串形式的拼接,以逗号隔开。
  var box = ['heaven',21,'电子商务'];

  alert(box);
  
  alert(box.toString());
  
  alert(box.toLocaleString());
  
  默认情况下,数组字符串都会以逗号隔开。如果使用 join()方法,则可以使用不同的分
  隔符来构建这个字符串。
    var box = ['heaven', 21, '电子商务'];
    alert(box.join('|'));
  
栈方法
Javascript为数组专门提供了 push()和 pop()方法。
push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数
组的长度。而 pop()方法则从数组末尾移除最后一个元素,减少数组的 length 值,然后返回
移除的元素。
  var box = ['heaven', 21, '电子商务'];

  alert(box.push('学生'));

  alert(box);
  
  box.pop();
  
  alert(box);
  
队列方法 www.2cto.com
栈方法是后进先出,而列队方法就是先进先出。列队在数组的末端添加元素,从数组的
前端移除元素。通过 push()向数组末端添加一个元素,然后通过 shift()方法从数组前端移除
一个元素。
  var box = ['heaven', 21, '电子商务'];
  
  alert(box.push('学生'));
  
  alert(box);
  
  alert(box.shift());
  
  alert(box);
  
Javascript 还为数组提供了一个 unshift()方法,它和 shift()方法的功能完全相反。
unshift()方法为数组的前端添加一个元素。
  var box = ['heaven', 21, '电子商务'];
  
  alert(box.unshift('学生,'学习'));
  
  alert(box);
  
  alert(box.pop());
  
  alert(box);
  
  
重排序方法
数组中已经存在两个可以直接用来排序的方法:reverse()和 sort()。
  reverse() 逆向排序
  var box = [1,2,3,4,5];
  
  alert(box.reverse());
  
  alert(box);
  
sort() 从小到大排序
  var box = [4,1,7,3,9,2];
  
  alert(box.sort());
  
  alert(box);
  
sort 方法的默认排序在数字排序上有些问题,因为数字排序和数字字符串排序的算法是
一样的。我们必须修改这一特征,修改的方式,就是给 sort(参数)方法传递一个函数参数。
这点可以参考手册说明。
  function compare(value1, value2) {
  
  if (value1 < value2) {
  
    return -1;
  } else if (value1 > value2) {
  
    return 1;
  } else {
  
    return 0;
  }
  var box = [0,1,5,10,15];
  
alert(box.sort(compare));
  
  
  
操作方法
Javascript 为操作已经包含在数组中的元素提供了很多方法。 concat()方法可以基于当
前数组创建一个新数组。 slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。
splice()主要用途是向数组的中部插入元素。
  var box = ['heaven', 21, '电子商务'];
  
  var box2 = box.concat('学生');
  
  alert(box2);
  
  alert(box);
  
  var box = ['heaven', 21, '电子商务'];
  
  var box2 = box.slice(1);
  
  alert(box2);
  
  alert(box);
  
 splice 中的删除功能:
  var box = ['heaven', 21, '电子商务'];
  
  var box2 = box.splice(0,2);
  
  alert(box2);
  
  alert(box);
  
 splice 中的插入功能:
  var box = ['heaven', 21, '电子商务'];
  
  var box2 = box.splice(1,0,'学生','学习');
  
  alert(box2);
  
  alert(box);
  
 splice 中的替换功能:
  var box = ['heaven', 21, '电子商务'];
  
  var box2 = box.splice(1,1,'学生');
  
  alert(box2);
  
  alert(box);



摘自 曙暮辉弧