遍历对象的可枚举属性

// 遍历对象的可枚举属性
var obj = {
    name:‘Nicholas‘,
    job:‘engineer‘
};
Object.getPrototypeOf(obj).age = 33;

//1.for-in
for (var property in obj) {
    console.log(‘Name:‘ + property);
    console.log(‘Value:‘ + obj[property]);
}

//2.Object.keys()
var properties = Object.keys(obj);
var i,len;
for (var i = 0; i < properties.length; i++) {
    console.log(‘Name:‘ + properties[i]);
    console.log(‘Value:‘ + obj[properties[i]]);
}

// 区别:for-in会遍历原型属性而Object.keys()只返回自有(实例)属性。

// 对for-in进行以下处理,则for-in等同于Object.keys()
for (var property in obj) {
    if(obj.hasOwnProperty(property)) {
        console.log(‘Name:‘ + property);
        console.log(‘Value:‘ + obj[property]);
    }
}
时间: 2024-10-07 05:05:56

遍历对象的可枚举属性的相关文章

遍历对象属性(for in、Object.keys、Object.getOwnProperty)

js中几种遍历对象的方法,包括for in.Object.keys.Object.getOwnProperty,它们在使用场景方面各有不同. for in 主要用于遍历对象的可枚举属性,包括自有属性.继承自原型的属性 var obj = {"name":"Poly", "career":"it"} Object.defineProperty(obj, "age", {value:"forever

js 数组遍历 对象遍历

一.数组遍历 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( var i = 0; i <arr.length; i++){ console.log(arr[i]); } 2,优化版for循环:使用变量,将长度缓存起来,避免重复获取长度,数组很大时优化效果明显 for(var j = 0,len = arr.length; j < len; j++){ console.log(arr[j]); } 3,forEach,ES5推出的,数组自带的循环

遍历对象属性

初始化对象: var person = function(name){ this._name = name; } var grand = function(){ this.city = "sh"; } grand.prototype.age = 18; person.prototype = new grand(); 1. for in 不仅能遍历自身的可枚举属性,还遍历原型对象中的可枚举属性 var p = new person(); for(var key in p){ consol

可枚举属性和不可枚举属性(for...in循环和Objec.keys()和Object.getOwnPropertyNames())

for...in循环是 遍历对象的每一个可枚举属性,包括原型链上面的可枚举属性,而Object.keys()只是遍历自身的可枚举属性,不可以遍历原型链上的可枚举属性. 这是for...in和Object.keys()的主要区别,而Object.getOwnPropertyNames()则是遍历自身所有属性(不论是否是可枚举的),不包括原型链上面的. #  分等

JavaScript遍历对象-总结一

原生JavaScript 遍历 1.for 循环遍历 1 let array1 = ['a','b','c']; 2 3 for (let i = 0;i < array1.length;i++){ 4 console.log(array1[i]); // a b c 5 } 2.JavaScript 提供了 foreach()  map() 两个可遍历 Array对象 的方法 forEach和map用法类似,都可以遍历到数组的每个元素,而且参数一致:   Array.forEach(funct

ES6之6种遍历对象属性的方法

1.for ... in 循环遍历对象自身的和继承的可枚举属性(不含Symbol属性). 2.Obejct.keys(obj),返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性). 3.Object.getOwnPropertyNames(obj),返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性). 4.Object.getOwnPropertySymbols(obj),返回一个数组,包含对象自身的所有Symbol属性. 5.Ref

遍历对象的属性的方法

ES6 一共有 5 种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性). (2)Object.keys(obj) Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名. (3)Object.getOwnPropertyNames(obj) Object.getOwnPropertyNames返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但

for/in 循环遍历对象的属性

for/in 语句循环遍历对象的属性. js中获取key得到某对象中相对应的value的方法:obj.key js中根据动态key得到某对象中相对应的value的方法有二: 一.var key = "name1";var value = obj[key]; 二.var key = "name1";var value = eval("obj."+key); JS代码: var obj={"name":"wjy"

JS 对象属性相关--检查属性、枚举属性等

1.删除属性 delete运算符可以删除对象的属性 delete person.age //即person不再有属性age delete person['age'] //或者这样 delete只是断开属性和宿主对象的联系,而不会去操作属性中的属性  看到delete a.p之后b.x仍然为1 var a = {p:{x:1}}; var b = a.p; console.log(a.p.x); //1 delete a.p; console.log(a.p.x); //TypeError a.p