IIFE 立即执行函数表达式-模块化
1)立即执行
2)表达式
3)括号,分号结束 | 前缀运算符 | 表达式上下文
4)只需要执行一次,内部变量无需维护,可用于初始化
(function( ) {
})( );
或
(function( ){
}( ));
或通过前缀运算符强制执行表达式,可以无分号
+function() {
}( )
或在表达式上下文,不需要前缀或括号,无需调用就执行了
var ourter = function outter (){
}( )
4)可传入参数
var obj = {} ;
(function(export){
export.add = function () { } ;
export release = function () { } ;
})(this.obj = { }) // this 指向window对象
5)应用
a、用于模块化
var weekDay = (function(){
var week = ["星期一","星期二","星期三","星期四","星期五"];
return function (num) {
return week[num];
}
})()
console.log(weekDay(1))
var weekDay = (function(){
var week = ["星期一","星期二","星期三","星期四","星期五"];
return {
name:function (num) {
return week[num];
},
index:function (name) {
return week.indexOf(name);
}
}
})()
console.log(weekDay.name(1))
console.log(weekDay.index("星期二"))
//缺点:当接口多时,不利于看
(function(exports){
var week = ["星期一","星期二","星期三","星期四","星期五"];
exports.name = function (num) {
return week[num];
}
exports.index = function (name) {
return week.indexOf(name);
}
})(this.weekDay = {});
console.log(weekDay.name(1))
console.log(weekDay.index("星期二"))
//缺点:每个模块都要定义一个全局变量存储,存在多个模块刚好使用相同名字问题
IIFE 立即执行函数表达式-模块化的更多相关文章
- 立即执行函数表达式(IIFE)
原文地址:benalman.com/news/2010/11/immediately-invoked-function-expression/ 译者:nzbin 也许你还没有注意到,我是一个对术语比较 ...
- (译)详解javascript立即执行函数表达式(IIFE)
写在前面 这是一篇译文,原文:Immediately-Invoked Function Expression (IIFE) 原文是一篇很经典的讲解IIFE的文章,很适合收藏.本文虽然是译文,但是直译的 ...
- JS立即执行函数表达式(IIFE)
原文为 http://benalman.com/news/2010/11/immediately-invoked-function-expression/#iife ----------------- ...
- IIFE(立即执行函数表达式)
我们经常会看到这样的写法: ;(fuction () { // do something })() 这就是一个简单的IIFE(立即执行函数表达式,immediately-invoked functio ...
- 详解javascript立即执行函数表达式(IIFE)
立即执行函数,就是在定义函数的时候直接执行,这里不是申明函数而是一个函数表达式 1.问题 在javascript中,每一个函数在被调用的时候都会创建一个执行上下文,在函数内部定义的变量和函数只能在该函 ...
- 【JavaScript】浅析IIFE(立即执行函数表达式)的作用
什么是IIFE IIFE就是立即执行函数表达式(Immediately-Invoked Function Expression) 为什么需要IIFE 应用IIFE有两个比较经典的使用场景, 第一就是在 ...
- [转]Javascript中的自执行函数表达式
[转]Javascript中的自执行函数表达式 本文转载自:http://www.ghugo.com/javascript-auto-run-function/ 以下是正文: Posted on 20 ...
- IIFF(立即执行函数表达式)
立即执行函数表达式(Immediately-invoked function expression,IIFF) 在javascript(ES5)中,是没有块级作用域的概念的 for (var i = ...
- 【JavaScript专题】--- 立即执行函数表达式
一 什么是立即执行函数表达式 立即执行函数表达式,其实也可以叫初始化函数表达式,英文名:IIFE,immediately-inovked-function expression.立即执行函数表达式就是 ...
随机推荐
- day32 网络编程之粘包问题
1.最大半连接数 什么是最大半连接数 半连接:在进行TCP协议通信时,客户端与服务器端进行三次握手建立连接,但是有时客户端与服务器端进行了连接申请,服务器端也同意了申请(既已经完成三次握手的两次),此 ...
- [bzoj4026]dC Loves Number Theory_主席树_质因数分解_欧拉函数
dC Loves Number Theory 题目大意:dC 在秒了BZOJ 上所有的数论题后,感觉萌萌哒,想出了这么一道水题,来拯救日益枯竭的水题资源. 给定一个长度为 n的正整数序列A,有q次询问 ...
- yum方式安装mono
https://blog.csdn.net/qq_21153619/article/details/81459359 这样应该比较简单 yum方式按照mono rpm --import "h ...
- oracle:archiver error. Connect internal only, until freed 原因以及错误的处理方法
今天小编遇到这个数据原因,通过查找资料解决了,问题原因就是数据默认存储日志的文件夹满了 1.首先通过cmd命令窗口连接超级管理员,sqlplus / as sysdba; 2.查询db_recover ...
- POJ2367(拓扑排序裸题
#include<iostream> #include<vector> #include<queue> using namespace std; typedef l ...
- 如何利用python爬虫爬取爱奇艺VIP电影?
环境:windows python3.7 思路: 1.先选取你要爬取的电影 2.用vip解析工具解析,获取地址 3.写好脚本,下载片断 4.将片断利用电脑合成 需要的python模块: ##第一 ...
- Lazy的SDL教程 翻译----Lesson 22 Timing
原文:http://lazyfoo.net/tutorials/SDL/22_timing/index.php Timing 计时 Last Updated 3/10/14 Another impor ...
- linux 查找大文件
查看磁盘使用情况:df -h [root@iZwz9gs2zseivevv1k5vnkZ /]# df -h Filesystem Size Used Avail Use% Mounted on /d ...
- windows 的文件夹映射实现
具体的操作命令如下:MKLINK [[/D] | [/H] | [/J]] Link Target/D:创建目录符号链接.默认为文件符号链接./H:创建硬链接,而不是符号链接./J:创建目录联接.Li ...
- JavaScript设计模式(发布订阅模式)
发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在JavaScript开发中,我们一般用事件模型来替代传统的发布—订阅模式 ...