原文:JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别

ECMAScript将对象的属性分为两种:数据属性和访问器属性。每一种属性内部都有一些特性,这里我们只关注对象属性的 Enumerable 特征,它表示是否通过 for in 循环返回属性,也可以理解为:是否可枚举。 然后根据具体的上下文环境的不同,我们又可以将属性分为:原型属性和实例属性。原型属性是定义在对象的原型 prototype 中的属性,而实例属性一方面来自己构造函数中,然后就是构造函数 ...

2015-11-02 21:05 0 28230 推荐指数:

查看详情

JavaScriptObject.keysObject.getOwnPropertyNames区别

定义 Object.keys 定义:返回一个对象可枚举属性的字符串数组; Object.getOwnPropertyNames 定义:返回一个对象可枚举、不可枚举属性的名称; 属性的可枚举性、不可枚举性 定义:可枚举属性是指那些内部 “可枚举” 标志设置为 true 的属性 ...

Sat Jan 20 02:19:00 CST 2018 0 1426
for in,Object.keysObject.getOwnPropertyNames区别

parent继承自Object.prototype,有一个可枚举的属性a。下面我们在创建一个继承自parent的对象child。 child有两个属性b和c,其中b为可枚举属性,c为不可枚举属性。 下面我们将用四种方法遍历child对象,来比较四种 ...

Mon Apr 09 17:03:00 CST 2018 2 1403
Object.keys( )与 for in 区别

for in 一般用于对象的遍历: Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。 两者之间最主要的区别就是Object.keys ...

Wed May 08 22:15:00 CST 2019 0 1196
for in 与 Object.keys 与 hasOwnProperty区别

1、结论 for in遍历对象所有可枚举属性 包括原型链上的属性 Object.keys遍历对象所有可枚举属性 不包括原型链上的属性 hasOwnProperty 检查对象是否包含属性名,无法检查原型链上是否具有此属性名 2、示例代码 3、ESLINT对for in的限制 ...

Mon Aug 20 18:10:00 CST 2018 0 1135
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM