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

所属分类: JavaScript / 网络编程 阅读数: 1559
收藏 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循环

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

阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)

cancelBubble在IE下有效 stopPropagation在Firefox下有效 复制代码 代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi... 查看详情
收藏 0 赞 0 分享

匹配html标记的正则

'>" name= spanName /> 匹配 [Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]... 查看详情
收藏 0 赞 0 分享

图片向上滚动

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]... 查看详情
收藏 0 赞 0 分享

常用参考资料(手册)下载或者链接

下面是一些常用参考资料(手册)下载或者链接:--中文手册系列(经典产品)-------------------------------------------------W3schools HTML教程 CHM帮助(桃花岛主)http://www.blueidea.com/art... 查看详情
收藏 0 赞 0 分享

測試代碼真方便

測試代碼真方便 Powered by Poorfish Blueidea.com [Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能... 查看详情
收藏 0 赞 0 分享

Div+CSS+JS树型菜单,可刷新

搞了一个DIV+CSS菜单,兼容Firefox,分享给大家,大家一齐学习 Div+CSS+JS树型菜单,可刷新 我的网站 [url]www.netany.net[/url] [url]www.netany.net[/url] ... 查看详情
收藏 0 赞 0 分享

CSS+JS构建的图片查看器

这是一个使用 CSS + JS 构建的简易图片查看器,采用缩略图点击查看大图,可以分别显示每张图片的描述,大图显示位置采用固定宽度和高度,超出部分隐藏,点击大图可查看完全尺寸,兼容性:IE、Firefox 、Opera。JS部分function showPic (whichpic... 查看详情
收藏 0 赞 0 分享

如何实现iframe(嵌入式帧)的自适应高度

好几次看到有人提问问到如何实现 iframe 的自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象,刚好我在工作中也碰到了类似问题,于是上网翻查,东抄抄西看看,弄出来这么一个函数,贴到页面里面就能用了。... 查看详情
收藏 0 赞 0 分享

自适应图片大小的弹出窗口

很多时候我们需要提供这样的功能给访问者:当访问者点击页面中的缩略图时,其对应的全尺寸图片将显示在一个新的弹出窗口中供访问者查看。   实现此功能的最简单作法是用以下HTML代码创建一个图像链接:   <a href="fullsize.jpg" targ... 查看详情
收藏 0 赞 0 分享

颜色渐变效果

javascriptboy // Flash table Extension for Dreamwever ,by dio(diopex@sina.com)nereidFadeObjects = new Object();nereidFadeTimers = new Object... 查看详情
收藏 0 赞 0 分享
查看更多