数组的in运算符是怎么判定的?
javascript吧
全部回复
仅看楼主
level 1
有没有大佬帮解释一下in的这个运算符是怎么判定的?遇到undefined类型是咋处理的?比如下面这个代码:
明明a[1]和a[2]的类型都是undefined,那为什么in之后的结果不一样呢?
2021年04月06日 12点04分 1
level 1

2021年04月06日 12点04分 2
level 12
// 你要判断他有没有这属性(值) 也可以用in 不过原型上的也会算上[小乖] (in本来就不是拿来判断undefined的)
const oDemo = { isAttr: undefined };
alert('isAttr' in oDemo); // true
alert('toString' in oDemo); // true
alert('javascript' in oDemo); // false
2021年04月06日 13点04分 3
不懂呀
2021年04月06日 15点04分
@Death已已矣 你只要知道in不是拿来判断undefined的 那什么时候用?for遍历时 判断属性存不存在时这就够了。。。
2021年04月07日 00点04分
@丶影-奈斯 有点明白了
2021年04月07日 02点04分
@丶影-奈斯 但是对于上面的例子,数组的length属性等于3,那是不是代表数字键1是存在的呢?那是不是说明数字键1,或者说属性1是存在的呀?只是属性值不存在。
2021年04月07日 02点04分
level 1
一起交流Java呀~没有广告,不卖资料,真正的Java交流群:156122099[哈哈][哈哈]
2021年04月06日 16点04分 4
level 1
可以一起交流Java呀~没有广告,不卖资料,真正的Java交流群:156122099[哈哈][哈哈]
2021年04月07日 06点04分 5
1