否則它將報(bào)告一個錯誤。因?yàn)镴S引擎會把這里的函數(shù)當(dāng)作函數(shù)聲明,函數(shù)聲明不允許沒有函數(shù)名,所以會向匿名函數(shù)報(bào)告錯誤。匿名函數(shù)只能以表達(dá)式的形式存在。例如,這里的匿名函數(shù)是一個表達(dá)式,作為setTimeout的參數(shù),這是允許的?;蛘撸簩⒁粋€匿名函數(shù)賦給一個變量,該變量是一個VAR語句,在該語句中匿名函數(shù)充當(dāng)函數(shù)表達(dá)式。如果函數(shù)有名字呢?不會報(bào)告錯誤,但語義會更改。例如,控制臺將輸出“1”。原因是JS引擎會認(rèn)為前面的函數(shù)是一個函數(shù)聲明的語句,而下面的(1)是一個單獨(dú)的語句,所以它會在控制臺上執(zhí)行下面的語句并輸出1。它實(shí)際上相當(dāng)于:JS圓括號有幾個不同的函數(shù),其中之一是表示表達(dá)式,而不是圓括號中的語句。在本例中,第一對括號告訴JS引擎匿名函數(shù)是函數(shù)表達(dá)式,而不是函數(shù)聲明語句。因此,添加此括號后,不會報(bào)告錯誤。為了實(shí)現(xiàn)“告訴JS引擎這個匿名函數(shù)是一個表達(dá)式”的目的,還有其他幾種編寫方法。你可以把第一對圓括號放在外面。例如,在匿名函數(shù)前面添加一元運(yùn)算符。其他答案也提到了這一點(diǎn):等等。
創(chuàng)新互聯(lián)建站企業(yè)建站,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對于成都網(wǎng)站建設(shè)、成都做網(wǎng)站中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動的思維在網(wǎng)頁中充分展現(xiàn),通過對客戶行業(yè)精準(zhǔn)市場調(diào)研,為客戶提供的解決方案。小括號里面可以加中括號嗎?大括號中可以有括號和圓括號。括號中可以有括號。它們不能顛倒,所以不能加在括號里