异步加载 JavaScript 函数
Asynchronous loading JavaScript functions.
我正在构建一个框架,其中我已将所有JavaScript文件合并为一个文件(minify(。
例:
function A() {} function B() {}
通过缩小的文件,我想异步加载函数并在完成工作时从 HTML 中删除。
示例:在需要时加载函数 A,但不需要函数 B。
我见过一个框架 Require.js但它根据需求异步加载 JavaScript 文件。
是否有任何框架可以按需加载在同一js文件中定义的JavaScript函数。
串联的缺点是,您对给定页面加载中包含的内容进行较少的细粒度控制。解决方案是,不是创建一个级联文件,而是创建可以更模块化地包含的功能层。因此,您不需要在可能只使用几个特定功能的页面上使用所有 JS。这实际上也可以是速度上的胜利,因为只有一个JS文件可能无法利用浏览器的6个并发连接。此外,一旦SPDY被完全采用,一个大文件的性能实际上将低于更小的文件(因为连接可以重用(。然而,缩小仍然很重要。
综上所述,您似乎要求一些难以实现的东西。当浏览器加载脚本时,它会立即被解析并执行。然后您无法加载文件...仅加载文件的一部分。通过连接,您将自己限制在那个大有效载荷上。
可以通过将脚本包装在块注释中,然后从脚本节点访问它并eval()
它来延迟执行......但这似乎不是你要问的。但是,如果您想在不锁定 UI 的情况下预加载模块,这可能是一个有用的策略。
这不是javascript的工作方式。加载函数的源文件时,该函数在内存中可用。由于语言是解释的,因此定义的函数将在浏览器读取源文件后立即加载。
最好的办法是使用 Require.js 或类似的东西,如果你想有明确的依赖链。
相关文章:
- 从函数JavaScript返回不可变数组/对象
- 将对象传递给函数.JavaScript
- 如何定义const函数javascript(语法糖)
- 新的日期函数javascript
- TypeError:this.getAttribute不是一个函数-javascript
- 从函数javascript发送变量
- 扩展自容器函数Javascript
- 从内部函数javascript内部分配外部函数的对象
- 使用函数JavaScript中的函数
- 在这里使用回调函数(JavaScript)有什么好处吗
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 将“e”传递给一个新函数 - javascript
- 调用函数中的一个函数——Javascript
- 传递的变量不适用于我的函数-Javascript
- 如何将类方法设置为等于多个函数?-Javascript
- 显示php中的函数javascript
- 如何使用php代码创建函数Javascript弹出框
- 未调用的外部函数-javascript
- 如何在类中运行函数.Javascript
- 关闭mouseover上的一个函数——Javascript,jQuery