javascript - 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 中。
解决方案
推荐阅读
- python - How to work with 3 dimensional word input in Keras
- database - 应该拆分多少数据?
- jakarta-ee - hashcorp vault 可以嵌入到 Java Web 应用程序中吗
- python - 如何冻结开发需求并使用 pipenv 生成 dev.txt?(仅限开发包/依赖项)
- powershell - 用于非标准退出的 Powershell 代码块
- ios - iOS Firebase Pod - 找不到框架 FirebaseCore 错误
- python - 按字符串中的特定位置对列表进行排序
- java - 如何修复随机的“java.lang.NullPointerException at oracle.jbo.uicli.binding.JUCtrlHierBinding.bringNodeToRangeKeyPath”错误
- python - 使用 if ,else 条件和填充缺失值的 List Comprehension
- python - 如何使用python使用特定列对csv文件中的数据进行排序