首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阅读开放源码:一系列IIFE

阅读开放源码:一系列IIFE
EN

Stack Overflow用户
提问于 2015-05-17 04:24:32
回答 2查看 34关注 0票数 0

我一直在读“Medium.js 开源项目”,它试图模仿Medium.com。

在阅读时,我注意到代码中有一个模式。最主要的是,生活常常被称为做各种各样的事情。

代码语言:javascript
复制
(function(Medium) {
      "use strict";
      //do stuff  
})(Medium);
(function(Medium) {
     "use strict";
     //do stuff
})(Medium);
(function(Medium) {
     "use strict";
     //do stuff

etc.

为什么代码是这样划分的呢?为什么不能同时调用一系列IFFE语句呢?这是一种常见的模式吗?您可以查看我上面所指的完整代码的链接。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-17 04:33:59

如果您查看源文件,您将看到每个单独的组件都是在一个单独的JavaScript文件中开发的。构建脚本用于将所有这些脚本连接在一起,并生成您正在查看的文件。

通过这种方式开发它,您可以只使用所需的组件构建您自己的自定义生成。通过将一组函数封装在一起,他还可以避免全局设置"use strict",以及为每个单独的函数设置。如果需要在一组API之间隐藏变量,则允许在IIFE中声明变量,而不会与其他模块或全局空间中的变量发生冲突。

但是,主要的优点是开发人员可以将库开发为多个不同的文件,并且您可以选择只在项目中包含所需的文件。

票数 1
EN

Stack Overflow用户

发布于 2015-05-17 04:34:08

如果您在src/Medium目录中查看,您可以看到这些IIFE的每个文件都是单独的文件,其中许多文件在tests目录中有匹配的文件。

他们像这样分开他们的代码,这样他们就可以将他们的代码分割成小的可测试模块,并且他们使用IIFE来扩展一个具有新功能的existin中介对象。

Medium.js文件是将src/Medium文件夹中的所有文件连接在一起的构建过程的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30283344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档