遍历对象

for 遍历对象的问题:

  • 对象没有像数组一样的length属性,所以无法确定长度
  • 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标

forin:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 1. 遍历对象 for in   
let obj = {
uname: 'pink老师',
age: 18,
gender: '男'
}
// 2. 遍历对象
for (let k in obj) {
console.log(k) // 属性名 'uname' 'age'
// console.log(obj.uname)
// console.log(obj.k)
// console.log(obj.'uname')
// console.log(obj['uname']) 'uname' === k
console.log(obj[k]) // 输出属性值 obj[k]
}

内置对象

回想一下我们曾经使用过的 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()

  • Math.ceil,数字向上取整

// 舍弃小数部分,整数部分加1

Math.ceil(3.4)

  • Math.floor,数字向下取整

// 舍弃小数部分,整数部分不变

Math.floor(4.68)

  • Math.round,四舍五入取整

// 取整,四舍五入原则

Math.round(5.46539)

Math.round(4.849)

Math.round(-1.5) -1

  • 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)

Date

ECMAScript 中内置了获取系统时间的对象 Date,使用 Date 时与之前学习的内置对象 console 和 Math 不同,它需要借助 new 关键字才能使用。

实例化

1
2
3
4
5
6
// 1. 实例化
// const date = new Date(); // 系统默认时间
const date = new Date('2020-05-01') // 指定时间
// date 变量即所谓的时间对象

console.log(typeof date)

方法

1
2
3
4
5
6
// 1. 实例化
const date = new Date();
// 2. 调用时间对象方法
// 通过方法分别获取年、月、日,时、分、秒
const year = date.getFullYear(); // 四位年份
const month = date.getMonth(); // 0 ~ 11

getFullYear 获取四位年份

getMonth 获取月份,取值为 0 ~ 11

getDate 获取月份中的每一天,不同月份取值也不相同

getDay 获取星期,取值为 0 ~ 6

getHours 获取小时,取值为 0 ~ 23

getMinutes 获取分钟,取值为 0 ~ 59

getSeconds 获取秒,取值为 0 ~ 59

时间戳

时间戳是指1970年01月01日00时00分00秒起至现在的总秒数或毫秒数,它是一种特殊的计量时间的方式。

注:ECMAScript 中时间戳是以毫秒计的。

1
2
3
4
5
6
7
8
 // 1. 实例化
const date = new Date()
// 2. 获取时间戳
console.log(date.getTime())
// 还有一种获取时间戳的方法
console.log(+new Date())
// 还有一种获取时间戳的方法,这个方法只能获得当前的时间戳
console.log(Date.now())

获取时间戳的方法,分别为 getTime 和 Date.now 和 +new Date()