色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

關于JavaScript的一些看法

眾所周知,一句JS代碼以分號結束和以回車符結束在瀏覽器中均能正常運行(至少在我的IE7中是這樣)。不知道這是JS語言的特性或者僅僅是解釋器的容錯功能?由于回車符也可以是一句代碼結束的標志,進行JS壓縮的時候就麻煩些了。要壓縮掉所有的回車符,程序就得知道哪里是一條語句的結束,并在結束位置后面添加上";"。這是一件不容易的事情(或許有容易的方法我還沒想到吧),最后無賴我只好采取了一種折中的方法:保留必要的回車符,去掉";"、","、"+"等等分隔符前后的回車符。(要是JS也像C++等語言一樣以";"結尾,那該是多么容易的一件事情!)
在開發的過程中,還發現一個比較奇怪的問題。如下面的代碼所示:
復制代碼 代碼如下:
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>

上面的代碼可以正常運行。
如果把第11行前的"/n"去掉,即程序變成:
復制代碼 代碼如下:
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>

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

JavaScript技術關于JavaScript的一些看法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 当雄县| 同仁县| 东海县| 公安县| 临泽县| 本溪市| 镇坪县| 汉川市| 新建县| 滦平县| 博罗县| 额济纳旗| 龙陵县| 祁门县| 双牌县| 边坝县| 安达市| 仙居县| 普宁市| 昭平县| 库尔勒市| 武功县| 隆子县| 津南区| 汉源县| 巴青县| 灵璧县| 饶河县| 寿宁县| 塔城市| 宣汉县| 乌审旗| 黄龙县| 阜城县| 竹北市| 柯坪县| 定远县| 绍兴市| 大宁县| 四川省| 泸州市|