数组的in运算符是怎么判定的?
javascript吧
全部回复
仅看楼主
level 1
Death已已矣
楼主
有没有大佬帮解释一下in的这个运算符是怎么判定的?遇到undefined类型是咋处理的?比如下面这个代码:
明明a[1]和a[2]的类型都是undefined,那为什么in之后的结果不一样呢?
2021年04月06日 12点04分
1
level 1
Death已已矣
楼主
顶
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
Death已已矣
不懂呀
2021年04月06日 15点04分
丶影-奈斯
@Death已已矣
你只要知道in不是拿来判断undefined的 那什么时候用?for遍历时 判断属性存不存在时这就够了。。。
2021年04月07日 00点04分
Death已已矣
@丶影-奈斯
有点明白了
2021年04月07日 02点04分
Death已已矣
@丶影-奈斯
但是对于上面的例子,数组的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