对象
属于引用方法类型的数据
对象:是一组属性和方法的集合
1,js中的对象
自定义对象:用户创建的对象
内置对象:JS提供的对象
宿主对象:需要特定的环境去运行的对象,根据不同的执行环境划分
2.自定义对象
(1)对象字面量
var cup = {'属性名':'属性值','属性名':'属性值'}
// 建一个商品对象
var com = {
id: 001,
title: '商品名1',
pic: '图片地址',
price: '2999.00'
}
属性名的引号可以省略,如果属性名中含有特殊字符必须加引号
(2)内置的构造函数
new 调用的函数就是构造函数,结果都是对象
// new 调用的函数就是构造函数,结果都是对象
var person = new Object()
// 手动添加属性
person.name = '新'
person.sex = '男'
3.属性的访问
对象.属性名
对象[‘属性名’]
如果属性名不存在,获取的值为undefind
// 访问属性
console.log(user.uid)
//含有特殊字符
console.log(user['dept-id'])
// 修改属性
user.salary = 40000
//添加属性
user.dname = '研发部'
4.遍历属性(枚举)
采用循环的方式,依次访问对象中的每个属性
// 遍历属性
for(var k in student){
//k每次获取的属性名
//[k] 代表属性名对应的属性值
console.log(k,student[k])
}
5.检测属性是否存在
// 方法一,与undefind比较 true不存在,false存在
console.log(person.age === undefined)
// 方法二,使用js提供的函数 true存在 false不存在
console.log(person.hasOwnProperty('name'))
// 方法三, true存在 false不存在
console.log('sex' in person)
拓展-模板字符串
简化了字符串的拼接
var str =`
标题:${com.title} <br>
价格:${com.price}
`