关于js中for-in遍历各类数据类型的结果

for-in

在JS中,for-in语句可以用来遍历数组或对象的属性

for ( 键名 in 被遍历的对象 ) {
	// 需要执行的代码
}

当被遍历的对象为Object类型时,键名即该对象的属性名;当被遍历的对象为Array数组时候,键名为数组的索引值index。
那么当被遍历的对象是,number, string, boolean, undefined, null类型的数据的时候,会出现什么情况呢?

for-in遍历各类JS数据

	var arr = [
		123,
		"str",
		true,
		undefined,
		null,
		new String('strObj'),
		{
			"obj-property": 24524,
			"obj-method": function (){}
		},
		[123,4786,65],
		function(){console.log('This is function object');}
	];

	function forin( param ){
		var flag = false;
		console.log("=========="+param+"==========")
		for (var key in param){
			console.log(key+"----"+param[key]);
			flag = true;
		}
		if (flag) {
			console.log("遍历了");
		}
		console.log("=========="+param+"==========")
	}


	for (var i = 0; i< arr.length; i++){
		forin(arr[i]);
	}

result of log

对于number,boolean,undefined,null数据类型

没有进入到for-in遍历,也没有执行for-in语句中的代码段。

对于string和new String

成功进入到for-in遍历中,遍历时的键名为字符的索引值。

对于Object对象

成功进入到for-in遍历中,遍历时的键名为对象的属性名。

对于Array数组对象

成功进入到for-in遍历中,遍历时的键名为数组的索引值

对于Function函数对象

没有进入到for-in遍历,也有没执行for-in语句中的代码段;即使改为命名函数,也是如此。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值