对象之认知

92 阅读2分钟

对象

声明对象的两种方式:

第一种:

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  男
    }
    

image.png

其实,它也能去遍历数组, 但遍历数组,得到的下标是字符串型的,不太符合常规.遍历数组就用常规的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