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

關(guān)于JavaScript的一些看法

 更新時間:2009年05月27日 17:18:00   作者:  
最近在寫一個JS代碼壓縮工具的時候,感受到JS的強(qiáng)大,同時也讓我頭疼的一陣子(誰叫我是JS菜鳥)。
眾所周知,一句JS代碼以分號結(jié)束和以回車符結(jié)束在瀏覽器中均能正常運(yùn)行(至少在我的IE7中是這樣)。不知道這是JS語言的特性或者僅僅是解釋器的容錯功能?由于回車符也可以是一句代碼結(jié)束的標(biāo)志,進(jìn)行JS壓縮的時候就麻煩些了。要壓縮掉所有的回車符,程序就得知道哪里是一條語句的結(jié)束,并在結(jié)束位置后面添加上";"。這是一件不容易的事情(或許有容易的方法我還沒想到吧),最后無賴我只好采取了一種折中的方法:保留必要的回車符,去掉";"、","、"+"等等分隔符前后的回車符。(要是JS也像C++等語言一樣以";"結(jié)尾,那該是多么容易的一件事情!)
在開發(fā)的過程中,還發(fā)現(xiàn)一個比較奇怪的問題。如下面的代碼所示:
復(fù)制代碼 代碼如下:

1<body>
2
3<script>
4
5function class1(){};
6
7class1.prototype.ShowMessage = function ShowMsg()
8{
9 alert("ShowMsg Function!");
10}
11var test = new class1();
12test.ShowMessage();
13</script>
14
15</body>

上面的代碼可以正常運(yùn)行。
如果把第11行前的"\n"去掉,即程序變成:
復(fù)制代碼 代碼如下:

1<body>
2
3<script>
4
5function class1(){};
6
7class1.prototype.ShowMessage = function ShowMsg()
8{
9 alert("ShowMsg Function!");
10} var test = new class1();
11test.ShowMessage();
12</script>
13
14</body>

則將不能正確運(yùn)行,原因在于"= function(){...}"的"}"不能標(biāo)志語句塊結(jié)束。也就是說,整個"= function(){...}"僅僅是一條語句,如上所述,一條語句必須以回車符或者";"結(jié)束。這是和C/C++等又一重大區(qū)別。
介于此,建議大家以后寫JS代碼的時候還是在一句話后面加";"表示結(jié)束,以避免不必要的BUG。
PS:雖然JS很強(qiáng)大,但是它這些“缺點”真是讓我沒法喜歡上它。

相關(guān)文章

最新評論

泰来县| 白玉县| 南平市| 通城县| 双江| 壶关县| 平和县| 徐州市| 庆云县| 海安县| 新民市| 包头市| 喀什市| 东城区| 绥化市| 二手房| 湄潭县| 永新县| 鞍山市| 子长县| 南康市| 阜康市| 郧西县| 安国市| 巴南区| 讷河市| 永州市| 安泽县| 黄冈市| 孟连| 神农架林区| 敖汉旗| 兴山县| 甘德县| 洪泽县| 临清市| 钦州市| 安西县| 嘉定区| 名山县| 紫云|