对象
声明对象的两种方式:
第一种:
let 对象名 = {}
第二种:
let 对象名 = new Object()
一般采用第一种方式.
对象的增删改查
let 对象名 = {
属性名: 属性值,
方法名: 函数
}
查: 对象名.属性名;
改: 对象名.属性名 = 新的值;
增: 对象名.新属性名 = 新的值;
删: delete 对象名(了解即可)
注意:若属性名本身是字符串的形式,代码如下, 则用对象名.属性名获取不到对象里对应的属性值, 需要采用查的另一种写法: 对象['属性名'] 即可.语法规范,带上引号后user-name当字符串来看,这样解析的时候,user-name中间的 - 就不当减号去解析了.
let person = {
'user-name':'孝顺父母',
age: 19,
gender: '男'
}
console.log(person['user-name'])// 孝顺父母
遍历对象
使用for k in obj
去遍历对象,for in语法中的 k 是一个变量, 在循环的过程中依次代表对象的属性名,但是得到的属性名是加引号的属性名; 你如果直接写 person.k
相当于写的是 person.'uname'
, 但是对象里没有加 '' 的uname, 所以结果肯定是undefined
, 但是查的另外一种写法:对象名['属性名'] 用到这里刚好, 即 对象名['属性名'] === 对象名[k]
对象名[k] 是获得属性值,如下图第二步的代码运行结果.
let person = {
uname: '小米粒',
age: 9,
gender: '男',
}
for (let k in person) {
console.log(k) // 属性名 得到'uname' 'age' 'gender'
console.log(person[k]) // 输出属性值 person[k] 小米粒 9 男
}
其实,它也能去遍历数组, 但遍历数组,得到的下标是字符串型的,不太符合常规.遍历数组就用常规的for (let i = 0; i < arr.length; i++){}
就行啦.
内置对象-Math
Math对象是JavaScript提供的一个“数学”对象, 主要提供了一系列做数学运算的方法. 比较常用的有:
random:生成0-1之间的随机数(包含0不包括1)
ceil:向上取整
floor:向下取整
通过第一个函数和第三个函数的搭配,我们可以求N-M之间的随机数 代码为:
Math.floor(Math.random() * (M - N + 1)) + N