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
- 正則表達式經典代碼