gpt4 book ai didi

javascript - 直接访问 javascript 属性与在开发工具中读取对象时相比,访问 javascript 属性会产生不同的结果

转载 作者:行者123 更新时间:2023-11-30 17:59:31 24 4
gpt4 key购买 nike

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

见图片: enter image description here

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

但是,当 slider 请求值时,它总是返回 NaN - 这在计算范围 slider 的 closestHandle 时很明显 - NaN 非常有毒,它会毒害整个循环并返回未定义的 closestHandle,从而导致上述“添加类”错误。

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

最佳答案

Chrome 控制台有点棘手。您在其中看到的 Object 的状态不一定反射(reflect)记录时的状态。它可以是“更新的” View 。

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

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

关于javascript - 直接访问 javascript 属性与在开发工具中读取对象时相比,访问 javascript 属性会产生不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17382770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com