gpt4 book ai didi

javascript - 浏览器是读取/存储 Javascript 文件中的所有内容还是只读取/存储它们需要的内容?

转载 作者:行者123 更新时间:2023-11-28 06:42:37 26 4
gpt4 key购买 nike

这就是我要问的:

假设我的网站上有

<script type="text/javascript" src="global.js"></script>
<script type="text/javascript">
someFunction();
someOtherFunction();
</script>

并假设 someFunctionsomeOtherFunction 是页面上使用的唯一函数,并且是 global.js 中 10,000 个函数中的两个。显然,在这种情况下,浏览器最好只在 global.js 中查找这两个函数,并跳过不依赖于它们的所有内容,但以下哪种方式实际上是浏览器解析的方式JS?

  1. JS 引擎将遇到的每个函数定义转化为机器代码,然后在需要时使用它
  2. JS 引擎查找函数的使用,然后查找其定义并构建机器代码,并在需要时使用该函数(包括它找到的用例)

最佳答案

这是一个很好的问题!

作为您问题的答案,#1 是最正确的,因为实际上所有函数都是在脚本加载期间由解释器解析的,而不仅仅是包含脚本引用的函数。

首先,一旦 include 语句执行,整个 JS 文件就会加载到客户端的浏览器缓存中。此时,global.js 由浏览器的 Javascript 引擎解析解释执行。然后,在 global.js 中声明的任何全局函数和变量都可以被包含的脚本使用。

但是,值得注意的是,Javascript 不会被编译成机器代码,而是根据 ECMA 标准进行词法解析和解释

<小时/>

有关脚本加载的更多信息,请查看 html5rocks 上的这个很棒的资源:Script Loading

关于javascript - 浏览器是读取/存储 Javascript 文件中的所有内容还是只读取/存储它们需要的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com