创建对象
使用 new 关键字调用的函数,是构造函数 constructor。构造函数是专门用来创建对象的函数。
例如:
var obj = new Object();
记住,使用typeof
检查一个对象时,会返回object
。
向对象中添加属性
在对象中保存的值称为属性。
向对象添加属性的语法:
对象.属性名 = 属性值;
举例:
var obj = new Object();
//向obj中添加一个name属性
obj.name = '张三';
//向obj中添加一个gender属性
obj.gender = '男';
//向obj中添加一个age属性
obj.age = 20;
console.log(JSON.stringify(obj)); // 将 obj 以字符串的形式打印出来
打印结果:
获取对象中的属性
方式 1:
语法:
对象.属性名;
如果获取对象中没有的属性,不会报错而是返回undefined
。
举例:
var obj = new Object();
//向obj中添加一个name属性
obj.name = '张三';
//向obj中添加一个gender属性
obj.gender = '男';
//向obj中添加一个age属性
obj.age = 18;
// 获取对象中的属性,并打印出来
console.log(obj.gender); // 打印结果:男
console.log(obj.color); // 打印结果:undefined
修改对象的属性值
语法:
对象.属性名 = 新值;obj.name = 'haha';
删除对象的属性
语法:
delete obj.name;
in 运算符
通过该运算符可以检查一个对象中是否含有指定的属性。如果有则返回 true,没有则返回 false。
语法:
'属性名' in 对象;
举例:
//检查对象 obj 中是否含有name属性
console.log('name' in obj);
if (obj.name) {
// 如果对象 obj 中有name属性,我就继续做某某事情。
}
for of:遍历数组
ES6 中,如果我们要遍历一个数组,可以这样做:
let arr1 = [6, 0, 7, 5,3];
for (let value of arr1) {
console.log(value);
}
打印结果:
for ... of 的循环可以避免我们开拓内存空间,增加代码运行效率,所以建议大家在以后的工作中使用 for…of 遍历数组。
注意,上面的数组中,
for ... of
获取的是数组里的值;如果采用for ... in
遍历数组,则获取的是 index 索引值。
Map 对象的遍历
for ... of
既可以遍历数组,也可以遍历 Map 对象。
for in:遍历对象的属性
for ... in
主要用于遍历对象,不建议用来遍历数组。
语法:
for (const 变量 in 对象) { }
解释:对象中有几个属性,循环体就会执行几次。每次执行时,会将对象中的每个属性的 属性名 赋值给变量。
语法举例:
for (var key in obj) {
console.log(key); // 这里的 key 是:对象属性的键(也就是属性名)
console.log(obj[key]); // 这里的 obj[key] 是:对象属性的值(也就是属性值)
}