1

我正在尝试在范围模式下调试jQuery滑块流行的“无法调用未定义的方法'addClass'”,并发现一些奇怪的东西。有人说这个错误是由于值作为字符串而不是整数传入,但我的值是经过验证的整数,我没有想法,所以我去尝试调试 jQuery UI,立即陷入死胡同。

见图片: 在此处输入图像描述

如您所见,当我在开发工具中展开选项对象时,options.values 是一个包含两个 NaN 的数组。但是,如果我 console.log(options.values) 我得到了真正的数组,它应该是正确的数值。更糟糕的是,例如,当我直接使用 console.log(options.values[0]) 记录它们时,我得到了正确的值。

然而,当滑块请求值时,它总是返回 NaN - 这在计算范围滑块的最接近句柄时很明显 - NaN 有毒,它会毒化整个循环并返回未定义的最接近句柄,从而导致上述“addClass”错误.

为什么会出现图像中的情况?为什么会发生?显然,两个相同的属性包含不同的值,具体取决于访问它们的方式。

4

1 回答 1

2

Chrome 控制台有点棘手。您看到的状态Object不一定反映记录时的状态。它可以是“更新的”视图。

虽然这并不能解决您的主要问题,但很明显,在许多情况下,记录一个对象并不能帮助您在 Chrome 上进行调试。断点将是更好的选择。

也就是说,在您的代码中的某处,该对象似乎已更改。

于 2013-06-29T18:00:40.740 回答