js中for in的用法示例解析


Posted in Javascript onDecember 25, 2013

for(var i=0;i<len;i++)这样的用法一般都可以用for in 来替代。
例如:

var a = ["a","b","c"]; 
for(var el in a){ 
alert(a[el]); 
}

这个就是穷举出a中的所有元素,当然上面这个例子是可以用
for(var i=0,len=a.length;i<len;i++){ 
alert(a[i]); 
}

这种方式进行循环列出的,不过有时候这种方式就不一定奏效了。
例如:
var a = {"first":1,"second":2,"third":3};

这个时候就只能用for in来穷举了。

一个对象是否可以进行for in穷举,我们可以通过propertyIsEnumerable属性来判断,说明如下:
propertyIsEnumerable 属性
返回 Boolean 值,指出所指定的属性是否为一个对象的一部分以及该属性是否是可列举的。

object.propertyIsEnumerable(proName)

参数
object
必选项。一个对象。

proName
必选项。一个属性名称的字符串值。

说明
如果 proName 存在于 object 中且可以使用一个 For…In 循环穷举出来,那么 propertyIsEnumerable 属性返回 true。如果 object 不具有所指定的属性或者所指定的属性不是可列举的,那么 propertyIsEnumerable 属性返回 false。典型地,预定义的属性不是可列举的,而用户定义的属性总是可列举的。
propertyIsEnumerable 属性不考虑原型链中的对象。

Javascript 相关文章推荐
JavaScript子窗口ModalDialog中操作父窗口对像
Dec 11 Javascript
JS 在指定数组中随机取出N个不重复的数据
Jun 10 Javascript
使用text方法获取Html元素文本信息示例
Sep 01 Javascript
使用 js+正则表达式为关键词添加链接
Nov 11 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
Feb 25 Javascript
JavaScript中object和Object的区别(详解)
Feb 27 Javascript
详解Angular2 关于*ngFor 嵌套循环
May 22 Javascript
Vue的MVVM实现方法
Aug 16 Javascript
ES6中定义类和对象的方法示例
Jul 31 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
Dec 04 Javascript
javascript实现时钟动画
Dec 03 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 Vue.js
在javascript中执行任意html代码的方法示例解读
Dec 25 #Javascript
jquery easyui combox一些实用的小方法
Dec 25 #Javascript
关闭浏览器时提示onbeforeunload事件
Dec 25 #Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 #Javascript
优化javascript的执行效率一些方法总结
Dec 25 #Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
Dec 25 #Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
Dec 25 #Javascript
You might like
phpMyadmin 用户权限中英对照
2010/04/02 PHP
php限制文件下载速度的代码
2015/10/20 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
复习Python中的字符串知识点
2015/04/14 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
代码分析Python地图坐标转换
2018/02/08 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
LINUX下线程,GDI类的解释
2012/04/17 面试题
介绍一下grep命令的使用
2012/06/28 面试题
十月份红领巾广播稿
2014/01/22 职场文书
元宵晚会主持词
2014/03/25 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
企业文化宣传标语
2014/06/09 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
灵魂歌王观后感
2015/06/17 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python