JS数据类型之对象
概述
对象就是一组键值对的集合,是一种无序的数据集合。
var obj = {
foo: 'hello',
bar: 'world'
}
上面代码中,大括号就定义了一个对象,它被赋值给变量obj
,所以变量obj
就指向一个对象。该对象内部包含两个键值对,第一个键值对是foo: 'hello'
,其中foo
是键名,字符串hello
是键值,键名与键值之间用冒号分割。键值对之间用逗号分隔。
属性的操作
属性的读取
获取对象的属性,有点运算符和方括号运算符两种方法
var obj = {
p: 'Hello World'
};
// 点运算符
console.log(obj.p); // Hello World
// 方括号运算符 键名必须放在符号里面
console.log(obj['p']); // Hello World
属性的赋值
点运算符和方括号运算符,不仅可以用来读取值,还可以用来赋值。
var obj = {};
obj.foo = 'Hello'
console.log(obj); // {foo: 'Hello'}
obj['bar'] = 'World'
console.log(obj); // {foo: 'Hello', bar: 'World'}
属性的查看
查看一个对象本身的所有属性,可以使用Object.keys
方法
var obj = {
key1: 1,
key2: 2,
}
console.log(Object.keys(obj)); // ['key1', 'key2']
属性的删除
delete
命令用来删除对象的属性,删除成功后返回true
。
var obj = { p: 1 };
console.log(Object.keys(obj)); // ['p']
delete obj.p;
console.log(obj.p); // undefined
console.log(Object.keys(obj)); // []
上面代码中,delete
命令删除对象的p
属性。删除后,在读取p
属性就会返回undefined
,并且Object.keys
方法的返回值也不再包含该属性。
对象遍历
for...in
循环用来遍历一个对象的全部属性。
var obj = {a: 1, b: 2, c: 3};
for(var i in obj) {
console.log(i); // a b c
console.log(obj[i]); // 1 2 3
}
for...in
循环有两个使用注意点:
- 它遍历的是对象所有可遍历的属性,会跳过不可遍历的属性
- 它不仅遍历对象自身的属性,还会遍历继承的属性
THE END
二维码
打赏
共有 0 条评论