IIFE
概述:IIFE,在声明表达式形式函数的同时立刻马上执行一次。
## 注意:必须是表达式函数。
### 关键字形式的函数是无效的是错误的。
语法函数后紧随();
案例:
```
var fun=function(){
console.log("我执行了")
}();
//注意加小 ();
```
这样就马上执行了
<br/><br/>
**关键字形式的函数**在 function 前面加上+或者-号就转换成了表达式函数。
也可以是是! ()
<br/>
代码如下:
```
+function hanshu (){
console.log("我执行了")
}();
```
这样就马上执行了
```
-function hanshu (){
console.log("我执行了")
}();
```
这样就马上执行了
```
!function hanshu (){
console.log("我执行了")
}();
```
```
(function hanshu (){
console.log("我执行了")
})();
```
这样就马上执行了
## 每一个IIFE 都属于自己独立作用域相互不影响。
```
//第一个IIFE
+function(a){
a=a+99;
console.log(a);
}(100); //a的结果为199
//第二个IIFE
+function(a){
a=a+66;
console.log(a);
}(100); //a的结果为166
//第三个IIFE
+function(a){
a=a+55;
console.log(a);
}(100); //a的结果为155
```
**以上案例:虽然变量都是a但是他们都不影响,因为每个内存地址都一样的,他们存储在了堆空间。**
- javascript简介与书写规范
- alert()----警告框函数
- prompt() --提示框
- 控制台使用
- 数字字面量
- JS的数据类型
- Infinity和NaN两个特殊的数字字面量
- 字符串型字面量
- 变量
- 变量声明提升
- 数据类型的判断typeof
- 数字转换为字符串(+)
- 字符转换数字parseInt
- 数学运算符
- 数学对象Math
- 字符串隐士转换数据类型
- 比较运算符
- 其他类型数据参与比较
- 字符串类型参与比较运算
- 布尔类型逻辑运算符
- 其他类型数据参与布尔运算boolean()
- if多分支案例
- if嵌套语句
- 赋值运算符
- switch放布尔值方法
- 同名变量
- for循环经典案例
- function函数
- 函数 形参与实参
- 全局与局部变量
- 函数作用域
- 函数返回关键字return 使用
- 函数经典实战(水仙花与幸运数)
- 表达式函数
- 关键字形式函数与表达式函数区别
- 回调函数
- 函数递归现象
- 表达式函数IIFE
- 数组
- 数组length属性(获取数组元素个数)
- 数组Push方法与pop方法(添加与删除尾部元素)
- 数组unshift与 shift方法(添加与删除数组头部元素)
- 数组indexOf与includes方法
- 数组slice与splice方法
- 数组join 与reverse方法
- 字符串length属性(轮遍字符个数)
- 字符串toLowerCase与 toUpperCase(转换大小写)
- 字符串的search方法 split(分割字符串为数组)
- 字符串substring 与substr方法(裁剪出来生成新数组)
- 字符串replace与match方法
- 正则表达式
- JSON格式数据格式
- 字符串方法match结合正则使用
- search方法结合正则一起使用
- replace结合正则使用
- exec正则表达式方法
- test正则方法(返回布尔值)
- 字符集--正则表达式
- 修饰符--正则表达式
- 边界符--正则表达式
- 预定义类--正则表达式
- 量词--正则表达式
- 三元运算符与类数组对象arguments
- 正则表达式经典代码