首页 > 解决方案 > 在下面的链接中,他们为什么在 javascript 步骤中的 slides[slideIndex-1].style.display = "block" 处添加“-1”?

问题描述

在下面的链接中,他们为什么在 javascript 步骤中的 slides[slideIndex-1].style.display = "block" 处添加“-1”? https://www.w3schools.com/howto/howto_js_slideshow.asp

标签: javascript

解决方案


我知道这是因为 slideIndex (1) 的值与幻灯片的长度进行了比较,并且因为 slideIndex 的值增加了 1 然后减去它以避免undefined尝试访问超出范围的幻灯片数组的元素时。

例如

有一个具有以下值的数组,并记住数组是 0 索引

const slides = [1, 2, 3];

如果您尝试访问位置 4

slides[4];

你会得到一个undefined并且在幻灯片的上下文中你可能会得到一个错误,所以为了防止这个错误,你在获取幻灯片数组中的值之前 substrcat slideIndex 值。

通常更常见的是以长度 1 减去并从 0 开始索引计数。


推荐阅读