javascript:if在条件为false的情况下仍然执行代码是为什么?

条件为changeNum !== undefined && changeNumIndex !== undefined,
p1为执行成功的现象,p2为我复制条件过去重新执行,但是发现执行失败。
image.png
image.png

阅读 4.4k
2 个回答

findIndex返回-1不是undefined。你这是chrome的调试?

find和findIndex方法都是es6针对数组的方法。但是两者是有区别的。
find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。
findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。

所以如果没有找到符合条件的的时候
changeNum === undefined
changeNumIndex === -1
此时 changeNum !== undefined && changeNumIndex !== undefined 为false

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题