Javascript或jQuery中脚本或插件的生命周期

Lifecycle of a script or a plugin in Javascript or jQuery

本文关键字:生命 周期 插件 脚本 jQuery Javascript      更新时间:2023-09-26

我几乎是web开发的新手,我正面对Javascript/jQuery。我想了解一个脚本是如何在一个html页面执行。我是一个C/Java程序员,参考这些语言可以帮助我。我明白,如果我们想在加载页面后执行脚本,可以将脚本插入标题或正文末尾。我知道DOM事件可以调用函数(我将事件与中断信号关联起来)。我想知道的是,如果像这样的脚本:

<script type="text/javascript">
//<![CDATA[
var i=10;
if (i<5)
  {
  // some code
  }
//]]>
</script>
body或head元素中的

只执行一次或连续执行。jQuery的行为方式与Javascript相同吗?那么插件呢?它们是否在页面显示的所有时间(如并行线程)或它们是事件驱动的(它们通过点击/调整大小等或使用计时器调用)?我知道这是一个非常普遍的问题,可能无法用几行话来解释,但是一些基本的解释和一些文档的链接将是非常感谢的。

谢谢!

jQuery只是一个用JavaScript编写的库,主要用于简化DOM操作和处理AJAX请求。如果您想了解JS是如何工作的,请暂时忘记jQuery。

关于脚本执行:浏览器解析HTML并从中创建DOM。当浏览器遇到<script>标记及其内容时,它为其创建一个DOM元素,将其添加到树中并执行代码。然后继续解析下一个标记,这意味着代码只执行一次。
在解析过程中执行脚本的原因是,脚本已经可以立即操作HTML(例如使用document.write(尽管不是很好的做法)),从而改变解析器必须解析的内容。脚本执行可以使用defer属性延迟,直到文档被完全解析(直到现在我还没有在实时代码中看到这个属性)。

所有script标记共享相同的作用域,全局作用域和执行环境持续存在,直到您离开或重新加载页面。因此,在一个脚本中定义变量并在另一个脚本中访问它是完全有效的,事实上,当你在页面中包含jQuery等库时,你正在做的就是

<script>
    var foo = 'bar';
</script>
<!-- other HTML code -->
<script>
    alert(foo);
</script>

您可能会发现关于script的HTML文档很有帮助

脚本将从上到下执行一次,就像您在页面中加载的任何其他内容一样。然而,加载的一部分将与DOM(文档对象模型,或浏览器的网页的内部表示)交互,包括注册事件处理程序等;之后,像点击、AJAX响应等事件可以触发JS函数。

如果你习惯Java UI开发,那么回调和基于事件的编程对你来说会很熟悉;如果你习惯了过程编码,那么这将是一个学习曲线。

以上代码只执行一次。

jQuery是基于javascript的,是的,当然,它的行为方式与javascript相同。jQuery使javascript更简单,也可以处理浏览器特定的问题。

Javascript代码在运行时执行,如果它写在你的例子中,但它也可能是事件驱动的。在刷新浏览器页面之前,代码结果的生命周期一直保持不变。如果你使用了计时器,javascript的生命周期也可能是连续的。

有些脚本只是创建可以稍后由事件调用的函数和对象,有些脚本实际上在页面加载时对DOM做一些事情,有些脚本只是注册侦听器。

jQuery和他们的插件只是创建对象/函数,以后可以被事件处理程序调用。