91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

函數表達式-模仿塊級作用域

發布時間:2020-07-09 12:08:26 來源:網絡 閱讀:480 作者:吳金瑞 欄目:網絡安全

    

 

模仿塊級作用域

Javascript中沒有塊級作用域的概念,這意味著在塊語句中定義的變量,實際上是在包含函數中而非語句中創建的

1     function outputNumbers(count){2         for (var i = 0; i < count; i++){3             console.log(i);4         }5         console.log(i);6     }

在for循環中定義的局部變量i可以再for循環外訪問,因為變量i是定義在outputNumbers()的活動對象中的,因此從它有定義開始,就可以在函數內部隨處訪問它。

 

函數表達式-模仿塊級作用域

1     function outputNumbers(count){2         for (var i = 0; i < count; i++){3             console.log(i);4         }5         var i;6         console.log(i);7     }

函數表達式-模仿塊級作用域

遇到這種情況,他只會對后續的聲明視而不見。匿名函數可以用來模仿塊級作用域并避免這個問題。

1     (function(){2         //這里是塊級作用域3     })();

以上代碼定義并立即調用了一個匿名函數。將函數聲明包含在一堆圓括號中,表示它實際上是一個函數表達式。而緊隨其后的另一對圓括號會立即調用這個函數。

 

注意:

1     function(){2         //這里是塊級作用域3     }(); //出錯

function關鍵字表示一個函數聲明的開始,而函數聲明后面不能跟圓括號。然而,函數表達式的后面可以跟圓括號。要將函數聲明轉換成函數表達式。

無論在什么地方,只要臨時需要一些變量,就可以使用私有作用域

函數表達式-模仿塊級作用域

1     function outputNumbers(count){2         (function(){3             for (var i = 0; i < count; i++){4                 console.log(i);5             }6         })();7         console.log(i); //i is not defined8     }

函數表達式-模仿塊級作用域

 

 

這種技術經常用在全局作用域中被用在函數外部,從而限制向全局作用域中添加過多的變量和函數

1     (function(){2         var now = new Date();3         if (now.getMonth() == 0 && now.getDate() == 1){4             alert("Happy new year");5         }6     })();

其中now現在是匿名函數中的局部變量,而我們不必在全局作用域中創建它。

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新宁县| 集安市| 汽车| 平乡县| 洪泽县| 望奎县| 磐安县| 吉林省| 高邑县| 垣曲县| 札达县| 苍山县| 建水县| 鹰潭市| 临邑县| 永修县| 砚山县| 运城市| 江源县| 合水县| 卢湾区| 老河口市| 武川县| 定结县| 班玛县| 黑龙江省| 兴业县| 松滋市| 双柏县| 轮台县| 阿坝| 长武县| 阳江市| 灌阳县| 钟祥市| 延吉市| 金湖县| 五原县| 南宁市| 库伦旗| 芦山县|