执行javascript的优先级是什么?

时间:2016-12-03 12:21:32

标签: javascript html css external

我有一个由博主链接的外部JavaScript文件。我想改变它的价值。 (用JavaScript分配的css值)

是否可以使用JavaScript指定的不同值在头部或主体中运行相同的代码? 例如,CSS为外部CSS样式表提供最低优先级,并分配文件中给出的属性。

JavaScript是否有这样的优先级系统?

4 个答案:

答案 0 :(得分:2)

它不是优先级,而是执行顺序。 Javascript不涉及任何类型的优先级,或者没有像CSS中的特性那样甚至不需要它。

Javascript代码为executed in the order it is included in the HTML document,无论它是内联还是外部js,虽然events使事情变得更复杂,但我们可以安排代码稍后在某些事件上运行,例如'load'事件window。因此很容易确保您的代码在他们之后运行,但如果他们说要从onload事件处理程序更改样式,那么您必须将代码添加到同一event本身。 (DOM3中至少在规范中确保了事件处理程序的顺序)

但是,你在CSS中尝试过!important,它可以覆盖内联样式,并且在某些场景中很方便。但是,如果你能够很好地使用JavaScript删除样式。

答案 1 :(得分:0)

Javascript代码在包含时执行。

Html解析器

  • 解析标签
  • 找到javascript
  • (可选)下载javascript
  • 停止解析html
    • 解析js
    • excecute js
  • 恢复解析html
  • 找到javascript
  • (可选)下载javascript
  • 停止解析html
    • 解析js
    • excecute js
  • 恢复解析html

注意代码将自己挂钩到domready事件,只在文档加载或其他事件时被触发,然后归结为它们注册的顺序。

还有defer和async之类的东西,它会使它在parralel中加载/执行解析(每个浏览器的细节和支持各不相同)。 但是在大多数情况下,如果谷歌博客中没有经过大量修改的模板,那么我所列出的内容将会发生

答案 2 :(得分:0)

JS在加载后立即执行,因此将脚本放在他们的脚本之后(之后链接到外部文件,或者将其放入内联),它将能够在第一个脚本中更改内容,但它可能具有当时执行。

如果他们的脚本在运行之前等待某些东西,你可能可以覆盖它的一部分,比如DOM ready事件

答案 3 :(得分:-1)

function