深入浅析JavaScript中的in关键字和for-in循环

所属分类: 网络编程 / JavaScript 阅读数: 2015
收藏 0 赞 0 分享

1.in关键字

属性名 in 对象,用来判断某个属性在对象中是否存在与其严格相等的属性名,返回boolean值

属性名必须是字符串或数字

var obj = {

  a : 1,

  b : 2

}
console.log('a' in obj);//返回true,obj对象中存在a属性名

var arr = [12,11,10];

console.log(12 in arr);//返回false,原因arr数组中12,11,10三个值对应的属性名分别是0,1,2

2.for-in循环

for(var prop in obj){

  //循环语句

}

取出对象的所有属性名,每次循环将其中一个属性名赋值给变量prop,运行循环体

利用该特点可以遍历数组:

var arr= ['abc','123',1,2,3];

for(var prop in arr){

  console.log(prop);

  console.log(arr[prop]);

}

使用for循环遍历数组和for-in循环遍历数组的区别:

遍历稀松数组var arr = [1,2,3,,,,,4];

for(var i = 0; i < arr.length; i++){};//没有值的地方会输出undefined

for(var prop in arr){};//没有值的地方不会输出

创建一个长度为100的数组,给数组的每一项赋值为'abc',使用for循环

var arr = new Array(100);

for(var i = 0; i < arr.length; i++){

  arr[i] = 'abc';

}

不能使用for-in循环

更多精彩内容其他人还在看

Jquery-data的三种用法

本篇文章主要介绍了Jquery-data的三种用法。具有很好的参考价值。下面跟着小编一起来看下吧
收藏 0 赞 0 分享

微信小程序实战之自定义toast(6)

这篇文章主要为大家详细介绍了微信小程序实战之自定义toast的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

微信小程序--onShareAppMessage分享参数用处(页面分享)

本篇文章主要介绍了微信小程序的页面分享onShareAppMessage分享参数用处的相关资料。具有很好的参考价值。下面跟着小编一起来看下吧
收藏 0 赞 0 分享

微信小程序实战之自定义抽屉菜单(7)

这篇文章主要为大家详细介绍了微信小程序实战之自定义抽屉菜单效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传

本篇文章主要介绍了微信小程序开发之从相册获取图片--使用相机拍照,本地图片上传的相关资料。具有很好的参考价值。下面跟着小编一起来看下吧
收藏 0 赞 0 分享

JavaScript错误处理和堆栈追踪详解

这篇文章主要为大家详细介绍了JavaScript错误处理和堆栈追踪的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

微信小程序开发之麦克风动画 帧动画 放大 淡出

本篇文章主要介绍了微信小程序开发之麦克风动画:帧动画、放大、淡出的相关资料。具有很好的参考价值。下面跟着小编一起来看下吧
收藏 0 赞 0 分享

微信小程序实战之自定义模态弹窗(8)

这篇文章主要为大家详细介绍了微信小程序实战之自定义模态弹窗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jQuery加密密码到cookie的实现代码

本文通过实例代码给大家分享了jquery 加密密码到cookie的实现方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

javascript实现日期三级联动下拉框选择菜单

这篇文章主要介绍了javascript实现日期三级联动下拉框选择菜单,实现JS年月日三级联动下拉框选择功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多