最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript中的函數(shù)聲明與函數(shù)表達(dá)式(奇技淫巧)

 更新時(shí)間:2011年03月06日 22:13:14   作者:  
Javascript有很多有趣的用法,在Google Code Search里能找到不少,今天從火丁筆記看到的,非常不錯(cuò),推薦大家看下。
舉一個(gè)例子:

試一下就知道這段代碼的意思就是聲明一個(gè)函數(shù),然后立刻執(zhí)行,因?yàn)镴avascript中的變量作用域是基于函數(shù)的,所以這樣可以避免變量污染,但這里的位運(yùn)算符“~”乍一看讓人摸不到頭腦,如果去掉它再運(yùn)行則會(huì)報(bào)錯(cuò):SyntaxError。

在闡述為什么之前,讓我們先來(lái)明確Javascript中的兩個(gè)概念:函數(shù)聲明和函數(shù)表達(dá)式:

先來(lái)看看什么樣的是函數(shù)聲明:

再來(lái)看看什么樣的是函數(shù)表達(dá)式:

現(xiàn)在回頭看看文章開(kāi)頭的問(wèn)題,為什么去掉位操作符“~”后運(yùn)行會(huì)報(bào)錯(cuò),這是因?yàn)閺恼Z(yǔ)法解析的角度看,Javascript不允許在函數(shù)聲明的后面直接使用小括號(hào),而函數(shù)表達(dá)式則沒(méi)有這個(gè)限制,通過(guò)在函數(shù)聲明前面加上一個(gè)“~”操作符,就可以讓語(yǔ)法解析器把后面看成是函數(shù)表達(dá)式,同樣的,在函數(shù)聲明前面加上“!,+,-”等操作符也是可行的。

那我們?yōu)槭裁床皇褂孟旅孢@種函數(shù)表達(dá)式的方式呢?


雖然從語(yǔ)法解析的角度看沒(méi)有問(wèn)題,但是上面的代碼存在弊端,它引入了一個(gè)變量,可能會(huì)污染現(xiàn)有的運(yùn)行環(huán)境,帶來(lái)潛在的問(wèn)題。

使用位操作符“~”的方法多少顯得有點(diǎn)奇技淫巧,其實(shí)把函數(shù)聲明用小括號(hào)套起來(lái)更易讀:


弄明白了原理,不管遇到什么寫(xiě)法,都不會(huì)再丈二和尚摸不著頭腦了。

相關(guān)文章

最新評(píng)論

蒙山县| 高青县| 兰州市| 曲周县| 淳化县| 会同县| 沈丘县| 锡林浩特市| 亚东县| 柏乡县| 邢台县| 攀枝花市| 长武县| 南安市| 鹰潭市| 塘沽区| 怀柔区| 肇源县| 永泰县| 辽阳市| 太仆寺旗| 湘潭市| 石楼县| 西城区| 若尔盖县| 永州市| 长兴县| 恭城| 澄城县| 东辽县| 咸阳市| 南澳县| 太和县| 宽城| 三门峡市| 多伦县| 施甸县| 临猗县| 监利县| 宝兴县| 正镶白旗|