javascript中的括號(hào)()用法小結(jié)
1.提高優(yōu)先級(jí)
(1+2)*3 與數(shù)學(xué)運(yùn)算中保持一致,先計(jì)算1+2再乘以3得出9
同時(shí)也可以是其他表達(dá)式,如:
2.函數(shù)的參數(shù)要放在括號(hào)里()
{
//…
}
3.立即執(zhí)行函數(shù)表達(dá)式
(function fun(a,b,c)
{
//…
})(1,2,3)
這里的括號(hào)(1,2,3)中的參數(shù)對(duì)應(yīng)的是前面函數(shù)的參數(shù),當(dāng)?shù)谝粋€(gè)括號(hào)的代碼符合表達(dá)式規(guī)則時(shí),前面的代碼會(huì)被作為函數(shù)表達(dá)式來執(zhí)行,所以最好在第一個(gè)函數(shù)表達(dá)式前面加上“;”分隔開,否則會(huì)報(bào)前一個(gè)表達(dá)式的值不是函數(shù)的錯(cuò)誤。
如:alert(1)(function(){})(),此時(shí)alert(1)先執(zhí)行,由于符合立即執(zhí)行的函數(shù)表達(dá)式規(guī)則,所以alert(1)的返回值會(huì)被作為函數(shù),同時(shí)將后一個(gè)括號(hào)中的值作為參數(shù)傳入,但alert(1)返回的是undefined,所以會(huì)報(bào)錯(cuò)。解決辦法就是在alert(1)后面加上“;”或者“,”,將其拆分為兩個(gè)表達(dá)式。
立即執(zhí)行還可以用
(function fun(a,b,c)
{
//…
}(1,2,3))
!function fun(a,b,c)
{
//…
}(1,2,3)
void function fun(a,b,c)
{
//…
}(1,2,3)
等方式,只要函數(shù)符合函數(shù)表達(dá)式語法規(guī)則即可。
單獨(dú)執(zhí)行一個(gè)函數(shù)時(shí)也需要加括號(hào),不能省略,如:fun(),fun(1,2,3)
4.執(zhí)行單個(gè)或多個(gè)表達(dá)式,并返回最后一個(gè)表達(dá)式的值,多個(gè)表達(dá)式之間需要用逗號(hào)“,”分隔開
5.條件表達(dá)式,與4類似,但用于條件判斷中
相關(guān)文章
javascript模塊化是什么及其優(yōu)缺點(diǎn)介紹
模塊化是一種將系統(tǒng)分離成獨(dú)立功能部分的方法,可將系統(tǒng)分割成獨(dú)立的功能部分,嚴(yán)格定義模塊接口、模塊間具有透明性2013-09-09javascript學(xué)習(xí)筆記_淺談基礎(chǔ)語法,類型,變量
下面小編就為大家?guī)硪黄猨avascript學(xué)習(xí)筆記_淺談基礎(chǔ)語法,類型,變量。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09ASP.NET實(shí)現(xiàn)Repeater控件的數(shù)據(jù)綁定
這篇文章介紹了ASP.NET實(shí)現(xiàn)Repeater控件數(shù)據(jù)綁定的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07javascript中attribute和property的區(qū)別詳解
這篇文章主要介紹了javascript中attribute和property的區(qū)別詳解,attribute和property對(duì)新手來說,特別容易混淆概念,本文就清晰的講解了它們的區(qū)別,需要的朋友可以參考下2014-06-06簡(jiǎn)單解析JavaScript中的__proto__屬性
這篇文章主要介紹了JavaScript中的__proto__屬性,對(duì)于JavaScript中所謂的對(duì)象來講,它指向?qū)ο蟮脑蚿rototype,需要的朋友可以參考下2016-05-05