亚洲AVI,黑人巨茎大战欧美白妇,初高中生洗澡自慰高清网站,欧美日韩无砖专区一中文字

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

(function(){})()立即執(zhí)行函數(shù)

立即執(zhí)行函數(shù)(function(){})()

關(guān)鍵詞: 立即執(zhí)行函數(shù) 匿名函數(shù) 作用域

專注于為中小企業(yè)提供網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)張掖免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

格式: (function())()

作用: 立即執(zhí)行函數(shù)(function())()是匿名函數(shù), 主要利用函數(shù)的作用域, 減少全局變量的使用

解釋

前提知識

js中的函數(shù)通常有兩種命名方式,分別是 聲明式函數(shù)函數(shù)表達式

// 聲明式函數(shù)
function func() {}
// 函數(shù)表達式
const func = function() {}

分析

  1. 當(dāng)我們的有些簡單函數(shù)只執(zhí)行一次的時候,我們通常會這么做

    // 聲明式函數(shù)
    function func () {console.log('I am a cat')}
    func() // I am a cat
    // 表達式函數(shù)
    const func = function () {console.log('I am a cat')} // 方法1
    func() // I am a cat
    const func = function () {console.log('I am a cat')} () // 方法2
    func // I am a cat
    
  2. 這時候我們會注意到函數(shù)的調(diào)用都要用到函數(shù)名, 那么如果我們不想要這個函數(shù)名呢?
    可以發(fā)現(xiàn)函數(shù)表達式 方法2 中在函數(shù)聲明的時候直接將函數(shù)結(jié)果返回給了變量 func, 并且在調(diào)用變量 func 的時候成功返回結(jié)果.
    那么是否可以這樣理解, 直接使用function () {console.log('I am a cat')}就可以實現(xiàn)我們的目的?

    function () { console.log('I am a cat')} () // Function statements require a function name
    
  3. 失敗了? 函數(shù)需要一個函數(shù)名!

  4. 這是因為當(dāng)我們直接使用function () {console.log('I am a cat')}的時候, js解釋器會認(rèn)為我們的函數(shù)是一個聲明式函數(shù), 而非表達式函數(shù). 因此必須使用一些特殊手段,讓js解釋器認(rèn)出我們應(yīng)該是函數(shù)表達式. 這樣的方法有很多,最常見的莫過于以下寫法. 這也是我最推薦的寫法

    (function () {console.log('I am a cat')}) () // I am a cat
    

其他寫法

// 知道即可,防止遇見了不認(rèn)識
!function () {}();
~function () {}();
-function () {}();
+function () {}();
void function () {}();
(function () {}());
(function () {})();
// ES6 箭頭函數(shù)
(()=>{})()

網(wǎng)站標(biāo)題:(function(){})()立即執(zhí)行函數(shù)
本文URL:http://news.spvevtbd.cn/article/dsojppi.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP