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 相关文章推荐
jQuery实用基础超详细介绍
Apr 11 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
Dec 10 Javascript
js实现禁止中文输入的方法
Jan 14 Javascript
JavaScript实现的双向跨域插件分享
Jan 31 Javascript
javascript将DOM节点添加到文档的方法实例分析
Aug 04 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
Aug 05 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
Apr 28 Javascript
JS左右无缝轮播功能完整实例
May 16 Javascript
elementUI 动态生成几行几列的方法示例
Jul 11 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 jQuery
原生js实现购物车
Sep 23 Javascript
JavaScript 去重和重复次数统计
Mar 31 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
解析php时间戳与日期的转换
2013/06/06 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
jQuery 入门讲解1
2009/04/15 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
python文件拆分与重组实例
2018/12/10 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python实现分数序列求和
2020/02/25 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
Paradox London官方网站:英国新娘鞋婚礼鞋品牌
2019/08/29 全球购物
机械制造专业个人的自我评价
2013/12/28 职场文书
实习单位评语
2014/04/26 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
住房租房协议书
2014/08/20 职场文书
十佳党员事迹材料
2014/08/28 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
外贸采购员岗位职责
2015/04/03 职场文书
JS函数式编程实现XDM一
2022/06/16 Javascript