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


Posted in Javascript onApril 20, 2020

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中的in关键字和for-in循环的文章就介绍到这了,更多相关js in for-in循环内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
Dec 09 Javascript
js自动生成对象的属性示例代码
Oct 28 Javascript
Javascript基础教程之JavaScript语法
Jan 18 Javascript
jQuery插件slider实现拖动滑块选取价格范围
Apr 30 Javascript
JS插件overlib用法实例详解
Dec 26 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
Jun 08 Javascript
ES6学习笔记之Set和Map数据结构详解
Apr 07 Javascript
JavaScript Canvas实现验证码
Aug 02 Javascript
js实现ATM机存取款功能
Oct 27 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
Aug 07 Javascript
从源码角度来回答keep-alive组件的缓存原理
Jan 18 Javascript
如何理解Vue简单状态管理之store模式
May 15 Vue.js
vue实现购物车功能(商品分类)
Apr 20 #Javascript
vue实现淘宝购物车功能
Apr 20 #Javascript
javascript利用键盘控制小方块的移动
Apr 20 #Javascript
vue实现购物车的监听
Apr 20 #Javascript
详解微信小程序工程化探索之webpack实战
Apr 20 #Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
Apr 20 #Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
Apr 20 #Javascript
You might like
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
OpenCV实现人脸识别
2017/04/07 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
python多线程扫描端口(线程池)
2019/09/04 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
用python批量下载apk
2020/12/29 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
公务员个人自我评价分享
2013/11/06 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis