JS中的in运算符

1,数组和对象的 for in 方法

接触过JS数组和对象后,我们都知道有一个for in 方法,它可以遍历数组和对象的key(数组元素的key就是下标)

let arr = [1,2,3]
let obj = {name:'野原新之助',age:6,gender:'boy'}
for(let k in arr){
	console.log(k)	// 输出 0	1	2,访问的是数组元素下标
}
for(let k in obj){
	console.log(k)	// 输出 name	age		gender,访问的是对象属性名
}

for in 中的 in 可以理解为:

  • 数组:存在于数组的下标(key
  • 对象:存在于对象的属性(key

2,in 运算符的单独使用

  • in 运算符单独使用时,就是用于判断属性是否存在于对象中
  • 如果存在,即返回true,不存在,返回false
  • 判断对象中是否存在某属性时,对象的原型中存在的属性(方法)也会被算进去
  • 在数组中,元素的索引下标,就是元素的属性
let obj = {
	name:'小蛤蟆',
	age:6
}
console.log('name' in obj)		//true,obj存在name属性
console.log('gender' in obj)	//false,obj不存在gender属性
console.log('toString' in obj)	//true,obj的原型中存在toString属性

let arr = [0,1,2]
console.log(0 in arr)	//true,arr数组的索引项有0
console.log(3 in arr)	//false,arr数组的索引没有到3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值