假设我们有 2 个 JavaScript 脚本试图更改同一个 DOM 元素。 一个尝试将 html 输入到 div 中,另一个尝试将 div 移动到页面上的其他位置(用于 A/B 测试),我们无法预测它们何时完成加载并运行。 它会弄乱 html 页面吗?浏览器知道要防止这种情况吗?
最佳答案
你不能真正同时调用某些东西。 JavaScript 不是多线程的,你一次只能做一件事。
您的示例涉及 DOM,它与 JavaScript 引擎并不真正相关,而是与 DOM 引擎(多线程)相关。您可以在 DOM 中同时执行许多操作,但是,由于 JavaScript 是 DOM 的接口(interface),JavaScript 不会让您同时调用两个 DOM 相关函数 - 一个函数始终会在另一个函数之前被调用,即使它们同时发生在 DOM 内存空间(不是 JavaScript 的)内。
关于javascript - 当两个库尝试同时更改同一个 dom 元素时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4713716/