JavaScript中带有onload事件的争用条件
假设我正在加载一个包含以下代码的页面:JavaScript中带有onload事件的争用条件,javascript,Javascript,假设我正在加载一个包含以下代码的页面: <script> function functionAlert() { alert(window.myProperty); } function functionSetProperty() { window.myProperty = "hello!"; } window.addEventListener('load', functionAlert, false);
<script>
function functionAlert() {
alert(window.myProperty);
}
function functionSetProperty() {
window.myProperty = "hello!";
}
window.addEventListener('load', functionAlert, false);
functionSetProperty();
</script>
函数functionAlert(){
警报(window.myProperty);
}
函数functionSetProperty(){
window.myProperty=“你好!”;
}
window.addEventListener('load',functionAlert,false);
functionSetProperty();
竞态条件是否可能在
functionSetProperty
之前调用functionlert
,在这种情况下,警报将显示undefined
?否,这是不可能的。基于浏览器的JavaScript是单线程的,在执行时阻止浏览器处理事件
(我在野外见过一些例外,但它们都以XmlHttpRequest为中心。)不,这是不可能的。基于浏览器的JavaScript是单线程的,在执行时阻止浏览器处理事件
(我在野外看到过一些例外,但它们都以XmlHttpRequest为中心。)为什么不将window.addEventListener行与functionSetProperty函数切换?然后你得到了你想要的。但我认为最好设计另一种方法。你说的“得到你想要的”是什么意思?这个问题并不是为了实现一个编程目标。我想了解一些关于窗口事件和JavaScript的工作原理。为什么不将window.addEventListener行与functionSetProperty函数切换?然后你得到了你想要的。但我认为最好设计另一种方法。你说的“得到你想要的”是什么意思?这个问题并不是为了实现一个编程目标。我想学习一些关于窗口事件和JavaScript如何工作的知识。