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 相关文章推荐
js关闭当前页面(窗口)的几种方式总结
Mar 05 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
js获取checkbox值的方法
Jan 28 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 Javascript
jquery实现垂直和水平菜单导航栏
Aug 27 Javascript
vue使用stompjs实现mqtt消息推送通知
Jun 22 Javascript
Node.js连接Sql Server 2008及数据层封装详解
Aug 27 Javascript
微信小程序实现上拉加载功能
Nov 20 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
Jul 20 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 Javascript
vue 扩展现有组件的操作
Aug 14 Javascript
Vue中强制组件重新渲染的正确方法
Jan 03 Vue.js
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
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
js实现的常用的左侧导航效果
2013/10/17 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
Ext GridPanel加载完数据后进行操作示例代码
2014/06/17 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
详解使用webpack构建多页面应用
2017/12/21 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
python逐行读取文件内容的三种方法
2014/01/20 Python
linecache模块加载和缓存文件内容详解
2018/01/11 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
python数据挖掘需要学的内容
2019/06/23 Python
py-charm延长试用期限实例
2019/12/22 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
python切割图片的示例
2020/11/12 Python
python 使用csv模块读写csv格式文件的示例
2020/12/02 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
人事部主管岗位职责
2013/12/26 职场文书
运动会演讲稿
2014/05/07 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
清洁工岗位职责
2015/02/13 职场文书
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python