JavaScript 对象

84 阅读2分钟

对象

对象是 JavaScript 数据类型的一种,之前已经学习了数值类型、字符串类型、布尔类型、undefined。

对象数据类型可以被理解成是一种数据集合。它由属性和方法两部分构成。

语法

声明一个对象类型的变量与之前声明一个数值或字符串类型的变量没有本质上的区别。

Snipaste_2022-05-27_21-53-04.png

属性和访问

数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。

  1. 属性都是成 对出现的,包括属性名和值,它们之间使用英文 : 分隔
  2. 多个属性之间使用英文 , 分隔
  3. 属性就是依附在对象上的变量
  4. 属性名可以使用 ""'',一般情况下省略,除非名称遇到特殊符号如空格、中横线等

Snipaste_2022-05-27_21-54-13.png 声明对象,并添加了若干属性后,可以使用 .[] 获得对象中属性对应的值,我称之为属性访问。

Snipaste_2022-05-27_21-54-24.png 扩展:也可以动态为对象添加属性,动态添加与直接定义是一样的,只是语法上更灵活。

Snipaste_2022-05-27_21-55-11.png

方法和调用

数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。

  1. 方法是由方法名和函数两部分构成,它们之间使用 : 分隔
  2. 多个属性之间使用英文 , 分隔
  3. 方法是依附在对象中的函数
  4. 方法名可以使用 ""'',一般情况下省略,除非名称遇到特殊符号如空格、中横线等

Snipaste_2022-05-27_21-55-58.png 声明对象,并添加了若干方法后,可以使用 .[] 调用对象中函数,我称之为方法调用。

Snipaste_2022-05-27_21-57-08.png 扩展:也可以动态为对象添加方法,动态添加与直接定义是一样的,只是语法上更灵活。

Snipaste_2022-05-27_21-57-31.png 注:无论是属性或是方法,同一个对象中出现名称一样的,后面的会覆盖前面的

null

null 也是 JavaScript 中数据类型的一种,通常只用它来表示不存在的对象。使用 typeof 检测类型它的类型时,结果为 object

遍历对象

Snipaste_2022-05-27_21-58-14.png for in 不提倡遍历数组 因为 k 是 字符串

内置对象

回想一下我们曾经使用过的 console.logconsole其实就是 JavaScript 中内置的对象,该对象中存在一个方法叫 log,然后调用 log 这个方法,即 console.log()

除了 console 对象外,JavaScritp 还有其它的内置的对象

Math

Math 是 JavaScript 中内置的对象,称为数学对象,这个对象下即包含了属性,也包含了许多的方法。

属性

Math.PI,获取圆周率

Snipaste_2022-05-27_21-59-16.png

方法

  • Math.random,生成 0 到 1 间的随机数

Snipaste_2022-05-28_10-21-35.png

  • Math.ceil,数字向上取整

Snipaste_2022-05-28_10-23-02.png

  • Math.floor,数字向下取整

Snipaste_2022-05-28_10-23-26.png

  • Math.round,四舍五入取整

Snipaste_2022-05-28_10-23-53.png

  • Math.max,在一组数中找出最大的

Snipaste_2022-05-28_10-24-28.png

  • Math.min,在一组数中找出最小的

Snipaste_2022-05-28_10-25-15.png

  • Math.pow,幂方法

Snipaste_2022-05-28_10-25-48.png

  • Math.sqrt,平方根

Snipaste_2022-05-28_10-26-32.png