我正在尝试在范围模式下调试流行的“无法调用方法'的'未定义'的'jQuery滑块',并找到一些奇怪的东西。有人说这个错误是由于值作为字符串而不是整数传递,但是我的值是经过验证的整数,我没有想法,所以我去尝试调试jQuery UI,立即达到死胡同。
见图片:
如您所见,当我在开发工具中展开选项对象时,options.values是一个包含两个NaN的数组。但是,如果我是console.log(options.values),我应该使用正确的数值来获得真正的数组。更糟糕的是,当我直接用console.log(options.values [0])记录它们时,我得到了正确的值。
然而,当滑块请求值时,它总是返回NaN - 这在计算范围滑块的nearestHandle时很明显 - NaN是如此有毒,它会使整个循环中毒并返回一个未定义的nearestHandle,从而导致上述“ addClass“错误。
为什么图像的情况会发生?为什么会这样?显然,两个相同的属性包含不同的值,具体取决于访问它们的方式。
答案 0 :(得分:2)
Chrome控制台有点棘手。您看到的Object
的状态不一定反映记录时的状态。它可以是“更新的”视图。
虽然这不能解决您的主要问题,但很明显,在许多情况下,记录对象对Chrome的调试没有多大帮助。断点将是更好的选择。
也就是说,在代码中的某个地方,对象似乎已经改变了。