• 数组
    在js中,数组可以容纳任何类型的值,可以是字符串、数字、对象、数组(多维数组的实现方式)

    1
    2
    3
    4
    var a = [1, '2', {b:'b'}, [3]]
    a.length; // 4
    a[2]; // {b:'b'}
    a[3][0]; // 0

    在数组中可以使用delete删除数组中的元素,但是使用该方法并不会使数组的长度发生改变,被删除的数组的元素的位置会被使用empty进行替换占位。当使用delete删除数组元素湖再访问时输出的是undefined

    1
    2
    3
    4
    5
    var a = [1, '2', {b:'b'}, [3]];
    delete a[1]; // true
    a.length; // 4
    a[1]; // undefined
    console.log(a); //[1, empty, {…}, Array(1)]
    • 数组的键
      数组通过数字进行索引,但是数组也是对象,所以也可以包含字符串键值和属性,但是使用非数字的键值(数字字符串除外)不会计算在数组的长度内,也无法使用数字索引访问。
      1
      2
      3
      4
      5
      var a = [1, '2', {b:'b'}, [3]];
      a['foo'] = '344'
      a.length; //4
      a[5]; // undefined
      a['foo']; // '344'
  • 字符串

    • 字符串和数组
      字符串和数组相似,他是类数组,拥有length属性以及indexOf和concat方法。