(1)在js中,对象的属性分为可枚举和不可枚举,它们是由属性的enumerable值决定的,不可枚举属性,用for...in是遍历不到的,js中内置属性是遍历不到的。

举个例子:

function P(){
this.a ='nihao';
this.b ='yes';
this.c =function(){
console.log('1');
}
}
P.prototype.look = function(){
console.log('2');
}
var b = new P();

for(var i in b){
console.log(b[i]);
}

这时候,我们可以遍历到对象b的所有可枚举属性,其中包括从原型继承来的。

but...

console.log(Object.keys(b))得到的结果却只是自身属性。

and...

console.log(JSON.stringify(b))得到的结果也是自身属性,但是不包括函数在内。

ES5中提供了一个方法,用于遍历所有属性(不论是否是可枚举的)

Object.defineProperty(b,'age',{
value:18,
enumerable:false
});

console.log(Object.getOwnPropertyNames(b))这样就得到了所有的属性。

(2)其中,定义Object对象的prototypeIsEnumerable()方法可以判断此对象是否包含某个属性,并且这个属性是否可枚举。

可枚举属性和不可枚举属性相关推荐

  1. js对象转数组可枚举属性和不可枚举属性

    前言 项目里面很多地方我们需要把数据处理一下才能应用,包括我们拿到的是一个对象,但是我们需要遍历,这个时候就需要把对象转成数组来实现我们的目的了,js对象转数组有几种方法,归纳整理一下- js对象转数 ...

  2. JavaScript对象中的可枚举属性和不可枚举属性

    在JavaScript中,对象的属性有可枚举和不可枚举之分,它是由对象属性描述符enumerable决定的.如果该属性是可枚举性的那么这个属性就能被for-in查找遍历到. 对象的属性描述符 在Jav ...

  3. js的可枚举属性与不可枚举属性

    可枚举属性和不可枚举属性什么意思? 在javascript中,对象的属性可以分为可枚举属性和不可枚举属性,它们的属性由enumerable值决定,可枚举属性决定了这个属性能否被for in 遍历到 判 ...

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

    可枚举属性和不可枚举属性(for...in循环和Objec.keys()和Object.getOwnPropertyNames()) for...in循环是 遍历对象的每一个可枚举属性,包括原型链上面 ...

  5. JavaScript中的可枚举属性与不可枚举属性

    在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for-in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包 ...

  6. JS对象的可枚举属性和不可枚举属性

    昨天在写文章(转载)的时候发现了有些对象的方法是分可枚举性和不可枚举性的. 简单的查了一下资料,今天来捋一捋啥是对象的可枚举啥是不可枚举. JS中对象转数组方法总结 可枚举性: 对象的每一个属性都有一 ...

  7. JS中的可枚举属性与不可枚举属性的学习以及扩展

    最近在学习对象遍历的方法时总是能看到的两个词,一个是"原型",一个是"枚举属性".一开始感觉自己大概明白"枚举属性"的意思,但是叫我解释却又 ...

  8. 可枚举属性与不可枚举属性

    转载自:https://www.cnblogs.com/kongxy/p/4618173.html 在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决 ...

  9. 枚举属性和不可枚举属性

    在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for-in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包 ...

最新文章

  1. html缓存特效代码,HTML特效代码
  2. CV之Hog+HamMingDistance:基于Hog提取和汉明距离对比的应用—图像相似度对比之for循环将多个成对图片依次对比并输出相似度
  3. 让开!!!谁也别拦着我封装React组件!
  4. 猎人能单拿修理机器人图纸_南京创新周麒麟行:他们为铁路配备“体检”机器人...
  5. div滚动条怎么设置_【20201123】做个用户管理系统(7)——个人资料修改页面、用户头像设置页面的模板的制作...
  6. Android layout优化
  7. html表格的行合并代码,HTML代码制作的表格合并单元格教程
  8. 【学习笔记】seckill-秒杀项目--(2)登录功能及完善
  9. 积分运算电路的设计方法详细介绍
  10. ASEMI-PL3369C电源管理芯片IC作用和意义
  11. 鉴源丨车载ECU嵌入式设备的诊断测试 - 会话和安全控制
  12. [IOS APP]西藏生死书
  13. CRACK:CAD Exchanger SDK 3.15.0/MAC/WIN/LINUX/Android
  14. [转帖]改变无数人人生的32句实话[ChaseDream论坛]
  15. ffmpeg AV转换常用命令
  16. 将项目上传至GitHub
  17. 简述async和await写法
  18. 在 Laravel 中使用 Tailwind CSS
  19. P1498 南蛮图腾---洛谷(分冶)
  20. php查询百度google收录情况,百度权重、pagerank、alexa及百度和谷歌收录情况查询接口...

热门文章

  1. Solid Edge与UG格式互换问题
  2. android+酷炫动画效果,Android酷炫动画效果之3D星体旋转效果
  3. 10公斤怎么用计算机,千克换算公斤(斤换算公斤计算器)
  4. 饥荒启动服务器显示error,win7系统玩饥荒游戏出现error during initialization提示该如何解决?...
  5. 全国计算机信息安全学院排名,2021年中国信息安全专业大学排名「大学专业排名」...
  6. 2018:秋清集·跋
  7. mac双系统开机强制进入mac系统
  8. 【笔记】P2P - 1 路由NAT(原理、四种类型、问题),P2P(概念、兼容NAT方案:ACL、upnp中间件、“打洞”、Relay)
  9. PPT-显示Chinese Translation Addin 中的自定义UI运行时错误,怎么办
  10. (转载)Honeypot技术讲解