1. 对象基础
什么是对象
对象: 是js中的一种数据类型,是复杂数据类型
对象是一个数据的集合,无序数据集合
对象也叫做 键值对集合
对象存储数据的形式
对象存储数据的形式:键值对形式存储。
一组键值对组成了对象中的一个数据成员。对象中如果有多个数据成员(键值对),则使用逗号分隔
1)对象中的键名: 也叫做对象的属性名,属性名必须是字符串数据类型。
属性名可以加引号,也可以不加引号书写,对象中属性名是唯一的(不能重复)
2)对象中的键值: 可以是任意数据类型的值
2. 创建对象
两种创建对象的方式:
1. 字面量创建对象 (使用频率比较高)
语法: var obj = {name:'zs',age:10};
2. 使用内置构造函数创建对象
Object()是内置的构造函数,通过new 的方式调用该函数,可以创建对象
语法1: var obj1 = new Object()
语法2: var obj1 = new Object({a: 1, b: 2})
3. 操作对象的成员
1. 添加 对象成员
1) 点语法: 对象.属性名 = 值
var obj = new Object()
obj.name = 'zs'
obj.age = 17
2) 数组关联法: 对象['属性名'] = 值
使用数组关联法: [] 里面的属性名必须加引号
var per = {}
per['name'] = 'zs'
per['age'] = 20
2. 修改对象对应的成员的值
- 点语法: 对象.属性名 = 值
obj.name = 'lisi'
- 数组关联法: 对象['属性名'] = 值
delete per['age']
3. 访问对象成员
如果对象成员没有这个属性名,则值为undefined
- 点语法: 对象.属性名
console.log( obj.name )
console.log( obj.abcd )
- 数组关联法: 对象['属性名']
console.log( per['name'] )
console.log( per['xyz'] )
4. 删除对象成员
- 点语法: delete 对象.属性名
delete obj.age;
- 数组关联法: delete 对象['属性名']
delete per['age']
特殊情况
* 一般大部分情况下, 点语法与中括号语法, 作用相同, 怎么选择都可以
*
* 特殊情况下我们需要使用中括号语法
* 1. 对象的属性名, 有纯数字或者特殊符号, 这个时候, 就只能使用中括号语法
* 2. 如果涉及变量相关的时候, 也需要使用中括号
*/
var obj = {
100: '我的属性名是 纯数字 100',
'!': '我的属性名是 特殊符号 !',
'@': '我的属性名是 特殊符号 @'
}
此时不能使用点语法, 使用中括号语法
console.log(obj.100)
console.log(obj.!)
console.log(obj.@)
console.log(obj[100])
console.log(obj['100'])
console.log(obj['!'])
console.log(obj['@'])