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

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

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

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

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

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

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

現(xiàn)在回頭看看文章開頭的問題,為什么去掉位操作符“~”后運行會報錯,這是因為從語法解析的角度看,Javascript不允許在函數(shù)聲明的后面直接使用小括號,而函數(shù)表達式則沒有這個限制,通過在函數(shù)聲明前面加上一個“~”操作符,就可以讓語法解析器把后面看成是函數(shù)表達式,同樣的,在函數(shù)聲明前面加上“!,+,-”等操作符也是可行的。

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


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

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


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

相關(guān)文章

最新評論

登封市| 普兰县| 蓬溪县| 穆棱市| 赤壁市| 资源县| 梓潼县| 三台县| 柘荣县| 枣庄市| 高青县| 平和县| 灌阳县| 安吉县| 长治县| 关岭| 水富县| 曲松县| 莱西市| 永泰县| 平陆县| 隆子县| 温州市| 年辖:市辖区| 西安市| 德清县| 沐川县| 深泽县| 松溪县| 桐梓县| 乌拉特中旗| 溧阳市| 台中县| 通化市| 基隆市| 涡阳县| 广水市| 蓬溪县| 南丹县| 余庆县| 平安县|