1、hasOwnProperty
检测对象是否拥有某个属性
用法:
代码语言:javascript复制var o1 = {flag: "abc"};
o1.hasOwnProperty("flag")
运行结果:
如果对象存在该属性则返回true,否则返回false
2、assign
合并对象属性
代码语言:javascript复制var o1 = {name: "zkq", age: 18};
var o2 = {address: "福建", sex: "男" }
var o3 = Object.assign(o1, o2);
console.log(o3);
运行结果:
合并两个对象的属性,返回合并后的对象,不改变原对象的值,如果对象的属性重复,后面对象属性的值覆盖前面对象的属性值
3、defineProperty
动态为对象设置属性
代码语言:javascript复制var o1 = {};
Object.defineProperty(o1, "name", {
value: "张三", //给属性赋值的内容
writable: true //设置属性是否可写,true可写,false只读,如果是false,就算代码运行了赋值语句,结果也是不会改变的
});
console.log(o1);
4、defineProperties
为对象动态设置多个属性值
代码语言:javascript复制var o1 = {};
Object.defineProperties(o1, {
"name": { //定义属性名称
value: "张三", //定义属性值
writable: true //定义属性是否可改变
},
"age": {
value: 18,
writable: false //设置属性是否可写,true可写,false只读,如果是false,就算代码运行了赋值语句,结果也是不会改变的
}
});
console.log(o1);
5、keys
获取对象的所有键并返回键的数组
代码语言:javascript复制var o1 = {name: "张三", age: 18};
var arr = Object.keys(o1);
console.log(arr); //['name', 'age']
6、values
获取对象的所有值并返回值的数组
代码语言:javascript复制var o1 = {name: "张三", age: 18};
var arr = Object.values(o1);
console.log(arr); //['张三', 18]
7、entries
获取对象的每一项属性的键和值,包装成一个数组,并返回一个二维数组
代码语言:javascript复制var o1 = {name: "张三", age: 18};
var arr = Object.entries(o1);
console.log(arr); //返回二维数组 [Array(2), Array(2)] 二维数组内容为:[["name","张三"],["age",18]]