1.查看对象所有属性:
Object.keys(对象名);
var o = { key1: 1, key2: 2 }; Object.keys(o); // [‘key1‘, ‘key2‘]
2.删除对象属性:
delete o.p;返回值为布尔类型,删除成功后返回true;
var o = {p: 1}; Object.keys(o) // ["p"] delete o.p // true o.p // undefined Object.keys(o) // []
注意:删除一个不存在的属性,delete
不报错,而且返回true;
var o = {}; delete o.p // true
delete
命令只能删除对象本身的属性,无法删除继承的属性;
var o = {}; delete o.toString // true o.toString // function toString() { [native code] }
delete
命令不能删除var
命令声明的变量,只能用来删除属性。
var p = 1; delete p // false delete window.p // false
3.检查对象是否包含某个属性——in运算符
in
运算符用于检查对象是否包含某个属性(注意,检查的是键名,不是键值),如果包含就返回true
,否则返回false
。
in
运算符,它不能识别对象继承的属性。
var o = { p: 1 }; ‘p‘ in o // true
var o = new Object(); o.hasOwnProperty(‘toString‘) // false 说明toString是继承属性 ‘toString‘ in o // true in运算符不能识别,对继承的属性也返回true
时间: 2024-10-10 19:24:59