Javascript竞争条件?

时间:2015-05-19 07:57:28

标签: javascript dom browser

var len1 = $("div").length
// can a new div inserted here?
var len2 = $("div").length
console.log(len1 === len2) // always true?

某些流氓脚本是否有可能在jQuery调用之间插入新的div?

1 个答案:

答案 0 :(得分:2)

简短回答:不。

更长的答案:您似乎没有在代码中使用alertconfirm,因此Firefox中的几个奇怪的边缘情况(可能只是旧版本)与alertconfirm没有发挥作用。 This answer from 2010详细介绍了这些内容。

但不,除此之外,没有访问DOM的JavaScript代码可以在代码中的一个语句和另一个语句之间运行。浏览器使用单个 UI线程运行JavaScript(以及零个或多个Web工作线程,但Web工作线程无法访问DOM)。