对象为了描述客观事物{ 属性名: 值,属性名: 值,属性名: 值} 若干个键(key)值(value)对
如果一个键的值是一个函数,则称这个键名为这个对象的方法。如果一个键的值是基本数据类型,则称这个键名为这个对象的属性。每个键值对之间使用英文逗号隔开。
对象字面量:大括号{}
里面包含了表达这个具体事物(对象)的属性和方法
键:相当于属性名
值:相当于属性值:可以是任意类型的值(数字、字符串、布尔值、函数等)
const peiqi = {
uname: '佩奇',
age: 20,
sex: '女',
}
const girlFriend = {
// 属性
name: 'xiaohua',
age: 18,
height: 165,
// 行为-方法(函数)
dance: function () {
console.log('dance!!!')
},
hobby: ['eating', 'coding', 'reading'],
boyFriend: {
name: 'xiaoming',
age: 20,
},
}
访问对象的成员 对象名.成员
console.log(girlFriend.name)//xiaohua
console.log(girlFriend.hobby[1])//coding
girlFriend.dance()
console.log(girlFriend.boyFriend.age)
对象名都是字符串,属性名没有特殊符号的时候,字符串引号可以省略
const peiqi = {
uname: '佩奇',
age: 20,
sex: '女',
'a-b': 20,
}
console.log(peiqi['a-b'])//20
查 对象名.成员或 对象名['属性名']
属性名明确的话 两种形式都可以,属性名存在变量里或者属性名含有特殊符号的,只能用中括号
console.log(peiqi.uname)//佩奇
console.log(peiqi['uname']) //佩奇 // peiqi[uname] 不加引号 uname当成变量看
let key = 'age'
console.log(peiqi.age)//20
console.log(peiqi.key) // undefined 访问peiqi中属性名为key的属性值
console.log(peiqi[key]) //20// peiqi['age']
console.log(peiqi['age'])//20
增
peiqi.color = 'pink'
peiqi.sing = function () {
console.log('唱歌')
}
console.log(peiqi)
改
peiqi.age = 4
console.log(peiqi)
删
delete peiqi.sex
console.log(peiqi)
for in 可以遍历对象或数组
for (变量 in 对象名字) {
// 在此执行代码
}
const peiqi = {
uname: '佩奇',
age: 20,
sex: '女',
'a-b': 20,
}
for (let key in peiqi) {
console.log(key) // 获取的是属性名
console.log(peiqi[key]) //;
}
const arr = [1, 2, 3]
for (let k in arr) {
console.log(k) // 拿到的是索引 字符串
console.log(arr[k])
}
Math 内置对象,提供一系列与数学运算相关的属性或方法
console.log(typeof Math) // object 对象类型
console.log(Math.pow(2, 5)) // 求2的5次方
console.log(Math.sqrt(16))//平方根
console.log(Math.round(10.5)) // 11 四舍五入
console.log(Math.round(-10.5)) // -10
console.log(Math.floor(10.9)) // 向下取整 10
console.log(Math.floor(-10.9)) // -11
console.log(Math.abs(-5)) // 5 绝对值
console.log(Math.ceil(10.1)) // 11 向上取整
console.log(Math.ceil(10.01)) // 11
Math.random()方法返回大于等于 0 小于 1 的一个随机数
得到1-10之间的最随机数:
Math.floor((Math.random()*10)+1);