最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript在哪种情况下不要向Object.prototype中添加可列举属性

来源:懂视网 责编:小采 时间:2020-11-27 20:15:04
文档

javascript在哪种情况下不要向Object.prototype中添加可列举属性

javascript在哪种情况下不要向Object.prototype中添加可列举属性:绝不要向Object.prototype中添加可列举的(Enumerable)属性如果你的代码中依赖于for..in循环来遍历Object类型中的属性的话,不要向Object.prototype中添加任何可列举的属性。但是在对JavaScript执行环境进行增强的时候,往往都需要向Object.prot
推荐度:
导读javascript在哪种情况下不要向Object.prototype中添加可列举属性:绝不要向Object.prototype中添加可列举的(Enumerable)属性如果你的代码中依赖于for..in循环来遍历Object类型中的属性的话,不要向Object.prototype中添加任何可列举的属性。但是在对JavaScript执行环境进行增强的时候,往往都需要向Object.prot

绝不要向Object.prototype中添加可列举的(Enumerable)属性

如果你的代码中依赖于for..in循环来遍历Object类型中的属性的话,不要向Object.prototype中添加任何可列举的属性。

但是在对JavaScript执行环境进行增强的时候,往往都需要向Object.prototype对象添加新的属性或者方法。比如可以添加一个方法用于得到某个对象中的所有的属性名:

但是结果是下面这个样子的:

一个可行的解决方案是使用函数而不是在Object.prototype上定义新的方法:

但是如果你确实需要向Object.prototype上添加新的属性,同时也不希望该属性在for..in循环中被遍历到,那么可以利用ES5环境提供的Object.defineProject方法:

以上代码的关键部分就是将enumerable属性设置为false。这样的话,在for..in循环中就无法遍历该属性了。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

javascript在哪种情况下不要向Object.prototype中添加可列举属性

javascript在哪种情况下不要向Object.prototype中添加可列举属性:绝不要向Object.prototype中添加可列举的(Enumerable)属性如果你的代码中依赖于for..in循环来遍历Object类型中的属性的话,不要向Object.prototype中添加任何可列举的属性。但是在对JavaScript执行环境进行增强的时候,往往都需要向Object.prot
推荐度:
标签: 不要 js javascript
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top