操作DOM时Javascript是否同步?

时间:2016-07-22 09:10:52

标签: javascript html function dom synchronous

我有一个输入类型字段的表单。我有几个单选按钮,根据我点击的那些,输入类型字段中的值将被更新。之后,我将调用Javascript函数来执行某些操作,该函数将使用输入字段中更新的数量(文本)。

当然,将该数量传递给函数本身更安全,但是我可以依赖Javascript首先更新DOM,显示更新输入字段值,然后通过document.getElementById("input-quantity").value检索它并且在功能中使用这个?或者该功能可以获得" old"如果DOM的刷新需要时间吗?

1 个答案:

答案 0 :(得分:5)

如你所说,只是将值传递给函数将是首选。

但是,设置输入值是同步的;在您描述的内容中,您将可靠地获得更新的值,跨浏览器。其他DOM操作(插入元素,删除它们,移动它们)也是同步的,尽管用户可能在JavaScript代码完成之前看不到结果,让浏览器使用线程重新绘制显示。 (尽管JavaScript本身并不是单线程的,但浏览器使用单个主UI线程来运行JavaScript代码,并且通常还使用该线程来更新显示。)