> 文章列表 > JavaScript -- 对象

JavaScript -- 对象

JavaScript -- 对象

1. 概念

对象是 JavaScript 数据类型的一种,可以理解为是一种无序的数据集合

2. 对象的使用

2.1 对象的声明

let 对象名 = {}
let 对象名 = new Object()

2.2 属性方法

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

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

3. 对象的操作

在这里插入图片描述

3.1 查

声明对象,并添加了若干属性后,可以使用 .[''] 获得对象中属性对应的值,我称之为属性访问。

语法:法1:对象名.属性
法2: 对象名[‘属性名’]

3.2 改

语法:对象名.属性 = 新值

3.3 增

语法:对象名.新属性 = 新值

3.4 删

语法:delete 对象名.属性

3.5 对象的方法

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

let person = {name: '小红',age: 18,// 方法是由方法名和函数两部分构成,它们之间使用 : 分隔singing: function () {console.log('两只老虎,两只老虎,跑的快,跑的快...')},run: function () {console.log('我跑的非常快...')}}// 调用对象中 singing 方法person.singing()// 调用对象中的 run 方法person.run()
  1. 方法是由方法名和函数两部分构成,它们之间使用:分隔
  2. 多个属性之间使用英文 , 分隔
  3. 方法是依附在对象中的函数
  4. 方法名可以使用 ""'',一般情况下省略,除非名称遇到特殊符号如空格、中横线等
  • 声明对象,并添加了若干方法后,可以使用 .[] 调用对象中函数,称之为方法调用。

4. 遍历对象

let obj = {uname:'andy',age: 18,sex:'男'
}
for(let k in obj) {console.log(k) // 打印属性名console.log(obj[k]) // 打印属性值
}
  • 一般不用这种方式遍历数组、主要是用来遍历对象
  • for in语法中的 k 是一个变量,在循环的过程中依次代表对象的属性名
  • 由于k 是变量所以必须使用[]语法解析
  • 一定记住: k 是获得对象的属性名对象名[k] 是获得 属性值

5. 内置对象

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

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

Math

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

属性

  • Math.PI,获取圆周率
// 圆周率
console.log(Math.PI);

方法

  • Math.random,生成 0 到 1 间的随机数
// 0 ~ 1 之间的随机数, 包含 0 不包含 1
Math.random()

生成0-10的随机数:Math.floor(Math.random() * (10 + 1))
生成5-10的随机数:Math.floor(Math.random() * (5 + 1)) + 5
生成N-M之间的随机数:Math.floor(Math.random() * (M - N + 1)) + N

  • Math.ceil,数字向上取整
// 舍弃小数部分,整数部分加1
Math.ceil(3.4)
  • Math.floor,数字向下取整
// 舍弃小数部分,整数部分不变
Math.floor(4.68)
  • Math.round,四舍五入取整
// 取整,四舍五入原则
Math.round(5.46539)
Math.round(4.849)
  • Math.max,在一组数中找出最大的
// 找出最大值
Math.max(10, 21, 7, 24, 13)
  • Math.min,在一组数中找出最小的
// 找出最小值
Math.min(24, 18, 6, 19, 21)
  • Math.pow,幂方法
// 求某个数的多少次方
Math.pow(4, 2) // 求 4 的 2 次方
Math.pow(2, 3) // 求 2 的 3 次方
  • Math.sqrt,平方根
// 求某数的平方根
Math.sqrt(16)

猜数字游戏:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>// 1. 随机生成一个数字 1~10// 取到 N ~ M 的随机整数function getRandom(N, M) {return Math.floor(Math.random() * (M - N + 1)) + N}let random = getRandom(1, 10)console.log(random)// 需要不断的循环while (true) {// 2. 用户输入一个值let num = +prompt('请输入你猜的数字:')// 3. 判断输出if (num > random) {alert('您猜大了')} else if (num < random) {alert('您猜小了')} else {alert('猜对啦,真厉害')break  // 退出循环}}</script>
</body></html>