Skip to content

数组与对象

数组

MDN Array

创建数组

JS 中创建数组有两种方式:

  • 利用 new 创建数组

    js
    var 数组名 = new Array();
    var arr = new Array();  // 创建一个新的空数组

    注意 Array() ,A 要大写

  • 利用数组字面量创建数组

    js
    // 1. 使用数组字面量方式创建空的数组  
    var 数组名 = [];
    // 2. 使用数组字面量方式创建带初始值的数组  
    var 数组名 = ['小白', '小黑', '大黄', '瑞奇'];
    • 数组的字面量是方括号 [ ]
    • 声明数组并赋值称为数组的初始化
    • 这种字面量方式也是我们以后最多使用的方式
    • 数组元素的类型

数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。

js
var arrStus = ['小白', 12, true, 28.9];

获取元素

索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)。

数组可以通过索引来访问、设置、修改对应的数组元素,可以 通过 数组名[索引] 的形式来获取数组中的元素。

js
// 定义数组  
var arrStus = [1, 2, 3];
// 获取数组中的第2个元素  
console.log(arrStus[1]);

注意:如果访问时数组没有和索引值对应的元素,则得到的值是 undefined

遍历数组

数组遍历

把数组中的每个元素从头到尾都访问一次(类似学生的点名),可以通过 for 循环索引遍历数组中的每一项

js
var arr = ['red', 'green', 'blue'];
for (var i = 0; i < arr.length; i++) {
    console.log(arrStus[i]);
}

数组的长度

数组的长度:默认情况下表示数组中元素的个数

使用 数组名.length 可以访问数组元素的数量(数组长度)。

js
var arrStus = [1, 2, 3];
console.log(arrStus.length); // 3

注意

  • 此处数组的长度是数组元素的个数 ,不要和数组的索引号混淆。
  • 当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化

新增元素

数组中可以通过以下方式在数组的末尾插入新元素:

数组[数组.length] = 新数据;

对象

MDN Object

就是花括号 { } 里面包含了表达这个具体事物(对象)的属性和方法;{ } 里面采取键值对的形式表示

  • 键:相当于属性名
  • 值:相当于属性值,可以是任意类型的值(数字类型、字符串类型、布尔类型,函数类型等)

代码如下:

js
var star = {
    name: '张三',
    age: 18,
    sex: '男',
    sayHi: function () {
        console.log('大家好啊~');
    }
};

上述代码中 star 即是创建的对象。

对象的使用

  • 对象的属性

    • 对象中存储具体数据的 "键值对" 中的 "键" 称为对象的属性,即对象中存储具体数据的项
  • 对象的方法

    • 对象中存函数的 "键值对" 中的 "键" 称为对象的方法,即对象中存储函数的项
  • 访问对象的属性

    • 对象里面的属性调用: 对象.属性名 ,这个小点 . 就理解为 “ 的 ”
    • 对象里面属性的另一种调用方式: 对象['属性名'],注意方括号里面的属性必须加引号 示例代码如下:
      js
      console.log(star.name)   // 调用名字属性 
      console.log(star['name']) // 调用名字属性
  • 调用对象的方法

    • 对象里面的方法调用:对象.方法名() ,注意这个方法名字后面一定加括号 示例代码如下:
      js
      star.sayHi(); // 调用 sayHi 方法,注意,一定不要忘记带后面的括号
  • 变量、属性、函数、方法总结 属性是对象的一部分,而变量不是对象的一部分,变量是单独存储数据的容器

    • 变量:单独声明赋值,单独存在
    • 属性:对象里面的变量称为属性,不需要声明,用来描述该对象的特征
  • 方法是对象的一部分,函数不是对象的一部分,函数是单独封装操作的容器

    • 函数:单独存在的,通过“函数名()”的方式就可以调用
    • 方法:对象里面的函数称为方法,方法不需要声明,使用“对象.方法名()”的方式就可以调用,方法用来描述该对象的行为和功能。

遍历对象

for ... in 语句用于对数组或者对象的属性进行循环操作。

其语法如下:

js
for (变量 in 对象名字) {
    // 在此执行代码  
}

语法中的变量是自定义的,它需要符合命名规范,通常我们会将这个变量写为 k 或者 key。

js
for (var k in obj) {
    console.log(k);   // 这里的 k 是属性名  
    console.log(obj[k]); // 这里的 obj[k] 是属性值  
}