js 立即執行函數,() .則前面的function 是運算式,不能是函數申明

來源:互聯網
上載者:User

標籤:

fnName(); function fnName(){     ... }//正常,因為‘提升’了函式宣告,函數調用可在函式宣告之前  

fnName(); var fnName=function(){     ... }//報錯,變數fnName還未儲存對函數的引用,函數調用必須在函數運算式之後

var fnName=function(){     alert(‘Hello World‘); }();//函數運算式後面加括弧,當javascript引擎解析到此處時能立即調用函數

function fnName(){     alert(‘Hello World‘); }();//不會報錯,但是javascript引擎只解析函式宣告,忽略後面的括弧,函式宣告不會被調用

function(){     console.log(‘Hello World‘);     }();//語法錯誤,雖然匿名函數屬於函數運算式,但是未進行賦值操作, //所以javascript引擎將開頭的function關鍵字當做函式宣告,報錯:要求需要一個函數名

js 立即執行函數,() .則前面的function 是運算式,不能是函數申明

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.