我很好奇在控制台日志中显示黑色或蓝色的数字之间有什么区别?
我现在正在使用这个变量输出:
currentImageIndex = currentImage.attr('data-index'),它确实会在控制台中输出正确的数字。它以黑色显示数字。由于某些原因,即使输出了正确的数字,我的函数也无法工作。但如果我写下以下代码:
currentImageIndex = 5, 该函数将起作用。我注意到这个数字在控制台日志中显示为蓝色。有什么关系呢?
发布于 2020-04-13 08:09:16
黑色表示字符串,蓝色表示数字:

元素属性始终是字符串;.attr返回一个字符串。您需要将其转换为一个数字:
currentImageIndex = Number(currentImage.attr('data-index'));发布于 2020-04-13 08:10:22
这是因为您的data-index属性的值是一个字符串,而不是一个数字(数字在控制台中显示为蓝色)。
您应该使用window.parseInt将属性的值解析为数字,以将字符串解析为数字:
...
const currentImageIndexValue = currentImage.attr('data-index');
const currentImageIndex = window.parseInt(currentImageIndexValue);请注意,如果属性的值不能解析为数字,则currentImageIndex的值将为NaN。
关于JavaScript类型的一些细节:MDN JavaScript types
https://stackoverflow.com/questions/61179767
复制相似问题