- 一种数据类型
 - 可以理解为一堆数据的集合
 - 用来表示某个事物
 
由属性和方法组成
语法
属性
let 对象名 = {
  属性名:值,
  属性名:值,
  属性名:值
}
//例
let person = {
  uname:'andy',
  age:18,
  sex:'男'
}
对象的属性没有顺序,属性和值之间用冒号: 属性之间用,
方法
本质是函数
let person = {
  name: "andy",
  sayHi: function () {
    document.write("hi~~")
  },    //注意加逗号
}
- 方法是由方法名和函数两部分构成,它们之间使用 
:分隔 - 多个属性之间使用英文
,分隔 - 方法是依附在对象中的函数
 - 方法名可以使用 “” 或 ”,一般情况下省略,除非名称遇到特殊符号如空格、中横线等
 
对象使用
属性访问
//两种方式(根据场景使用)
let person = {
		name:'andy',
		age:18,
		sex:'男'
}
// 对象名.属性名
console.log(person.name)
console.log(person.age)
// 对象名['属性名']
console.log(person['name'])
console.log(person['age'])
方法访问
let person = {
  name: "andy",
  sayHi: function () {
    document.write("hi~~")
  },    //注意加逗号
}
//调用 注意需要加小括号
person.sayHi()
操作对象
增加/修改
如果对象没有该属性,则增加该属性,如果有,则修改属性值
动态添加与直接定义是一样的,只是语法上更灵活
let obj = {
  name: 'andy'
}
//增加属性
//对象名.新增属性名 = 属性值
 obj.hobby = '拍照'
 obj['sex'] = '男'
//新增对象中的方法
//对象名.新增方法名 = 方法
obj.move = function(){
		document.write('12')
}
注:无论是属性或是方法,同一个对象中出现名称一样的,后面的会覆盖前面的
删除对象中的属性(了解)
//delete 对象名.属性名
  delete obj.age
遍历对象
- 对象没有像数组一样的length属性,所以无法确定长度
 - 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标
 
//for(let k 对象名){}
for(let k in obj){
  console.log(k)   //属性名
}
//得到属性值 k是变量不要加引号!
console.log(obj[k])
// k存的是字符串 === '属性名'
//——————————————————
//console.log(obj.k) 错误!! 找的是obj里面的k属性
内置对象
例如:
document.write()
console.log()	
Math
| 方法Math.*() | |
|---|---|
| random | 生成0-1之间的随机数(包含0不包括1) | 
| ceil | 向上取整 | 
| floor | 向下取整 | 
| round | 就近取整 | 
| max | 找最大数 | 
| min | 找最小数 | 
| pow | 幂运算 | 
| abs | 绝对值 | 
| … | … | 
console.log(Math.PI)  //  圆周率    π  
console.log(Math.random())  //  随机数  随机抽奖  随机点名
// 返回的是小数  但是能得到 0  得不到 1
// 向上取整  返回的整数
console.log(Math.ceil(1.1))  // ceil  2
console.log(Math.ceil(1.5))  // ceil  2
console.log(Math.ceil(1.9))  // ceil  2
// 向下取整  返回的整数  floor  
console.log(Math.floor(1.1))  // floor  1
console.log(Math.floor(1.5))  // floor  1
console.log(Math.floor(1.9))  // floor  1
console.log('-------------------------------')
// round 就近取整( .5往大取整)  返回的整数   
console.log(Math.round(1.1))  // round  1
console.log(Math.round(1.5))  // round  2
console.log(Math.round(1.9))  // round  2
console.log('-------------------------------')
console.log(Math.round(-1.1))  // round  -1
console.log(Math.round(-1.5))  // round  -1
console.log(Math.round(-1.9))  // round  -2
// 最大值和最小值
console.log(Math.max(1, 5, 9, 45))
console.log(Math.min(1, 5, 9, 45))
生成任意范围的随机数
//生成N-M之间的随机数
Math.floor(Math.random() * (M - N + 1)) + N