JavaScript中关键字 in 的使用方法详解


Posted in Javascript onOctober 17, 2016

for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”。

对于数组 ,迭代出来的是数组元素 但不推荐,因为不能保证顺序,而且如果在Array的原型上添加了属性,这个属性也会被遍历出来,所以

最好数组使用正常的for循环,对象使用for-in循环

对于对象 ,迭代出来的是对象的属性;

var obj = {


"key1":"value1",


"key2":"value2",


"key3":"value3"

};

function EnumaKey(){


for(var key in obj ){



alert(key);


}


}


function EnumaVal(){



for(var key in obj ){




alert(obj[key]);




}



}

javascript中in关键字还有下面的作用

定义:

in操作符用来判断某个属性属于某个对象,可以是对象的直接属性,也可以是通过prototype继承的属性。

var Fn = function () { this.age = 1; };
Fn.prototype.name = 'jim';
// Fn.prototype.age = undefined;
var f = new Fn();
// hasOwnProperty
// 如何判断属性是被继承的???
console.log( 'age' in f && !f.hasOwnProperty( 'age' ) );
// age 可能存在原型链上, 也可能不存在
// 如果属性值就是 null 或 undefined, 那么此时 f.age 就无法判断了

对于一般的对象属性需要用字符串指定属性的名称

如:

var mycar = {make: "Honda", model: "Accord", year: 1998};
"make" in mycar // returns true
"model" in mycar // returns true

如果你使用delete操作符删除了一个属性,再次用in检查时,会返回false,如:

var mycar = {make: "Honda", model: "Accord", year: 1998};
delete mycar.make;
"make" in mycar; // returns false
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
delete trees[3];
3 in trees; // returns false

如果你把一个属性值设为undefined,但是没有使用delete操作符,使用in检查,会返回true.

var mycar = {make: "Honda", model: "Accord", year: 1998};
mycar.make = undefined;
"make" in mycar; // returns true
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
trees[3] = undefined;
3 in trees; // returns true

以上所述是小编给大家介绍的JavaScript中关键字 in 的使用方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javscript对象原型的一些看法
Sep 19 Javascript
JavaScript原生对象之String对象的属性和方法详解
Mar 13 Javascript
jquery实现手风琴效果
Nov 20 Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 Javascript
微信小程序wx.request拦截器使用详解
Jul 09 Javascript
Vue实现剪贴板复制功能
Dec 31 Javascript
vue项目中使用多选框的实例代码
Jul 22 Javascript
JS删除对象中某一属性案例详解
Sep 08 Javascript
微信小程序实现文件预览
Oct 22 Javascript
如何在JavaScript中使用localStorage详情
Feb 04 Javascript
Angular 2应用的8个主要构造块有哪些
Oct 17 #Javascript
jQuery表单验证简单示例
Oct 17 #Javascript
jQuery右下角悬浮广告实例
Oct 17 #Javascript
WEB前端实现裁剪上传图片功能
Oct 17 #Javascript
Javascript获取background属性中url的值
Oct 17 #Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
Oct 17 #Javascript
jquery checkbox的相关操作总结
Oct 17 #Javascript
You might like
第十节--抽象方法和抽象类
2006/11/16 PHP
实用函数4
2007/11/08 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
preg_match_all使用心得分享
2014/01/31 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
PHP Include文件实例讲解
2019/02/15 PHP
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
基于jquery实现放大镜效果
2015/08/17 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
vue2.x数组劫持原理的实现
2020/04/19 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
机器学习python实战之决策树
2017/11/01 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
Python 控制终端输出文字的实例
2019/07/12 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
计算机软件个人的自荐信范文
2013/12/01 职场文书
我的大学生活职业生涯规划
2014/01/02 职场文书
宣传保护环境的公益广告词
2014/03/13 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL