时间:2021-05-26
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 falsevar 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 truevar trees = new Array("redwood", "bay", "cedar", "oak", "maple");trees[3] = undefined;3 in trees; // returns true以上所述是小编给大家介绍的JavaScript中关键字 in 的使用方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Javathis关键字的使用方法详解构造方法中的this关键字构造方法是一个类的对象在通过new关键字创建时自动调用的,在程序中不能向调用其他方法一样通过方法名
swiftguard关键字详解及使用Swift提供guard关键字,guard关键字可以简化繁琐的判断逻辑?12345678910111213141516fun
javafinal关键字详解:前言:Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方
前言在一些开源的框架的源码当中时不时都可以看到volatile这个关键字,最近特意学习一下volatile关键字的使用方法。volatile关键字:当多个线程进
本文实例讲述了JavaScript中的this妙用。分享给大家供大家参考,具体如下:JavaScript关键字this始JS脚本能够根据使用这个关键字的上下文将