对象
什么是对象
一种数据类型,可以理解为一种无序的数据集合,数组是有序的数据集合
用来描述一个事物:静态特征、动态特征
对象使用
- 声明语法:
//第一种
let 对象名 = {属性名:属性值, //多个属性由逗号隔开方法名:函数 //多个方法由逗号隔开
}//第二种
let 对象名 = new Object()
其中,{}是对象字面量
2. 对象有属性和方法组成
对象中的属性和方法不需要声明
属性:名词:尺寸、重量、颜色
方法:动词:打电话、发短信、玩游戏
3. 对象的操作
- 查:对象名.属性名
或对象名['属性名']
- 增:对象名.新属性 = 新值
- 改:对象名.属性名 = 新值
- 删:delete 对象名.属性名
改和增语法一致,属性原来有即为改,没有即为增
起名尽量不用goods-name这样的格式,调用时-会被识别成减号,此时可用对象名['属性名']
这种方法实现
4. 对象中的方法
// 声明:
let obj = {name:'Amy'// 使用匿名函数sayHi:function() {document.write('hi')}
}// 调用:对象名.方法名()
obj.sayHi()
- 遍历对象
for in
语法格式:
// 遍历数组,
// k为下标索引
for(let k in arr) {console.log(k) // 此处k是字符串类型,因此遍历数组一般不用这种console.log(arr[k]) //通过k找到对象中的元素
}// 遍历对象
// k为属性名,要加引号
for(let k in obj) {console.log(k)console.log(obj['k'])// 不能用obj.k
}
- 内置对象
js内部提供的对象,包含各种属性和方法给开发者调用
eg:document.write``````console.log
数学内置对象(Math.
):
派:Math.PI
向上取整:Math.ceil()
向下取整:Math.floor()
返回一个四舍五入后最接近的整数:Math.round()
有.5则取大值
生成随机数:Math.random()
最大数:Math.max()
最小数:Math.min()
幂运算:Math.pow()
绝对值:Math.abs()
生成任意范围随机数:
Math.random()
:返回一个0-1之间,包括0且不包括1的随机小数(左闭右开)
生成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
使用场景:
let arr = ['red','green','blue']
let random = Math.floor(Math.random()*arr.length)