2 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
因?yàn)檫@是聲明函數(shù)
( function(){…} )()和( function (){…} () )是兩種javascript立即執(zhí)行函數(shù)的常見寫法。
函數(shù)聲明、函數(shù)表達(dá)式、函數(shù)
函數(shù)聲明:function fnName () {…};使用function關(guān)鍵字聲明一個(gè)函數(shù),再指定一個(gè)函數(shù)名,叫函數(shù)聲明。
函數(shù)表達(dá)式 var fnName = function () {…};使用function關(guān)鍵字聲明一個(gè)函數(shù),但未給函數(shù)命名,最后將函數(shù)賦予一個(gè)變量,叫函數(shù)表達(dá)式,這是最常見的函數(shù)表達(dá)式語法形式。
函數(shù):function () {}; 使用function關(guān)鍵字聲明一個(gè)函數(shù),但未給函數(shù)命名,所以叫函數(shù),函數(shù)屬于函數(shù)表達(dá)式,函數(shù)有很多作用,賦予一個(gè)變量則創(chuàng)建函數(shù),賦予一個(gè)事件則成為事件處理程序或創(chuàng)建閉包等等。
函數(shù)聲明和函數(shù)表達(dá)式不同之處在于,
一、Javascript引擎在解析javascript代碼時(shí)會(huì)‘函數(shù)聲明提升’(Function declaration Hoisting)當(dāng)前執(zhí)行環(huán)境(作用域)上的函數(shù)聲明,而函數(shù)表達(dá)式必須等到Javascirtp引擎執(zhí)行到它所在行時(shí),才會(huì)從上而下一行一行地解析函數(shù)表達(dá)式,
二、函數(shù)表達(dá)式后面括號(hào)立即調(diào)用該函數(shù),函數(shù)聲明不可以,只能以fnName()形式調(diào)用 。
- 2 回答
- 0 關(guān)注
- 1565 瀏覽
添加回答
舉報(bào)