首页 > 解决方案 > Chrome 和 Firefox 中奇怪的控制台输出

问题描述

局部范围内的某些变量(在 IIFE 函数表达式中包含 JS 文件的所有代码;此文件的“全局”)保存分页范围的值。它具有默认值,例如:

PAGINATION_RANGES = [
    { start: 0, end: 0 },
    { start: 0, end: 0 }
];

这些值在按钮单击时发生变化。Click 正在发出 GET 请求,并且在成功块中,此变量设置为来自服务器的新范围。

通过直接编辑变量进行更改,例如:

PAGINATION_RANGES[0].start = res.range[0].start; // 1
PAGINATION_RANGES[0].end = res.range[0].end; // 10
PAGINATION_RANGES[1].start = res.range[1].start; // 21
PAGINATION_RANGES[1].end = res.range[1].end // 30

假设 UI 上的范围为 11 - 20。

我知道我正在对同一变量进行可变更改(使用相同的引用),并且我认为不会出现竞争条件(默认值是在加载 HTML 和脚本文件时设置的,并且仅在单击时更改)。

通过每次用新的对象数组替换 value 很容易解决,但我想知道发生了什么以及为什么使用这个控制台输出?这也发生在 Firefox 中。

在此处输入图像描述

标签: javascriptgoogle-chromefirefoxconsole

解决方案


推荐阅读