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.立即执行函数表达式就是 ...
随机推荐
- 使用PowerShell 自动安装IIS 及自动部署网站
执行环境:Windows Server 2012 R2 安装iis核心代码,可自定义安装项 注意这里不能使用add-windowsfeature "Web-Filtering", ...
- luoguP2634聪聪可可(点分治)
题目链接:https://www.luogu.org/problem/P2634 题意:给一颗树,求距离的模3为0的点对数量,注意(1,1)算一个点对,(1,2)和(2,1)算两个点对. 思路:和点分 ...
- SQLite进阶-11.Join
目录 JOIN 交叉连接 - CROSS JOIN 内连接 - INNER JOIN 外连接 - OUTER JOIN JOIN JOIN 子句用于结合两个或者多个数据表的数据,基于这些表之间的共同字 ...
- [git] git error: unable to unlink old
今天git pull ,结果报错 : git error: unable to unlink old 原因是 文件夹内 一个exe 处于打开状态. 哈哈哈哈,又是个低级错误~~~ 下次注意呀~
- Web开发Flask框架学习笔记
Python 是一种跨平台的[计算机程序设计语言],是一种面向对象的动态类型语言,Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public Lice ...
- 关于spring中AOP的几件小事
0.AOP简介 AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是穿透OOP的补充. AOP的主要编程对象是切面(aspect),而切面模块化横切关注 ...
- js中神奇的东西
简单了解一些js的东西 window.history.go(-1);//历史记录-1,跳转到上一次操作的页面 Location 对象的 replace() 方法用于重新加载当前文档(页面) javas ...
- 高德地图API-设置考勤范围
<template> <div class="page-setting-setgps"> <!--head--> <div class=& ...
- HTML之美化盒子
1. 美化盒子 1.1. 美化文本 1.1.1. 字体大小[font-size]: 字符框的高度,可继承,默认值medium,16px.基准字号:浏览器设置的默认字体大小,通 ...
- 判断一个数是否为回文数(js)
//判断是否为回文数:若n=1234321,则称n为一回文数 let readline = require("readline-sync"); let newNum = 0; co ...