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

标签 javascript jquery html lifecycle

我几乎是网络开发的新手,而且我正面临 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 attribute 延迟脚本执行,直到文档被完全解析(尽管直到现在我还没有在实时代码中经常看到该属性)。

全部script标签共享相同的范围,全局范围和执行环境一直存在,直到您离开或重新加载页面。因此,在一个脚本中定义一个变量并在另一个脚本中访问它是完全有效的,实际上这就是您在页面中包含 jQuery 等库时所做的事情。

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

您可能会找到 HTML documentation about script s有帮助。

关于javascript - Javascript 或 jQuery 中的脚本或插件的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14249293/

相关文章:

javascript - 如何通过ajax调用将图像和数据作为两个不同的参数发送?

javascript - Raphael JS 中带下划线的文本

javascript - 占位符在 IE10 中不起作用

javascript - 为什么这个DateTimePicker脚本会导致IE6和IE7无法加载页面

javascript - 使用 AJAX/JQUERY 将每个 <td> 中的数据附加到 JSP 生成的表中

javascript - 使用 File API 正常读取文件

javascript - Highcharts - 如何删除空项目的向下钻取链接?

Javascript 不适用于 : onclick show hidden div from textarea

php - MySQL查询插入成功但返回false

php - 路由模型绑定(bind)不起作用