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 相关文章推荐
JavaScript版代码高亮
Jun 26 Javascript
探讨jQuery的ajax使用场景(c#)
Dec 03 Javascript
javascript刷新父页面的各种方法汇总
Sep 03 Javascript
jQuery Validation PlugIn的使用方法详解
Dec 18 Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
Sep 21 Javascript
javascript简单链式调用案例分析
May 10 Javascript
Node.js中sequelize时区的配置方法
Dec 10 Javascript
浅谈Angularjs中不同类型的双向数据绑定
Jul 16 Javascript
vue中轮训器的使用
Jan 27 Javascript
浅谈克隆 JavaScript
Nov 02 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调试函数和日志记录函数分享
2015/01/31 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
js实现点击生成随机div
2020/01/16 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
python开发之thread实现布朗运动的方法
2015/11/11 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
Django框架视图函数设计示例
2019/07/29 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
python 模拟登陆github的示例
2020/12/04 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
迟到检讨书800字
2014/01/13 职场文书
赔偿协议书范本
2014/04/15 职场文书
学校中秋节活动总结
2015/03/23 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
python实现会员信息管理系统(List)
2022/03/18 Python