JavaScript語句可以不以;結(jié)尾的煩惱
更新時間:2007年03月08日 00:00:00 作者:
JavaScript做為一個靈活的腳本語言,其成功是我們顯而易見的。不過對于JavaScript語句可以不以";"結(jié)尾這點,我對其一直都耿耿于懷!這個特性除了帶來語句的混亂,且使其依賴于代碼排版(換行)外,我沒有發(fā)現(xiàn)任何的優(yōu)點。難道是為了可以少敲一個";"?! 如果習(xí)慣了C#、C/C++等的強制";",會更加的覺得郁悶。
同時這個特性對于JavaScript的debug來說,是災(zāi)難性的。下面這個語句是正確的嗎?
if ( results == 'AdvancedTimeSelect' )
{
this.DoAdvancedTimeSelect();
// . . .
}
else ( results && results.length > 0 )
{
// . . .
}
// . . .
這是我在把"if"-"else"語句結(jié)構(gòu)變成"if"-"else if"-"else"結(jié)構(gòu)時,不小心寫成的代碼(漏加了一個if)。如果是在C#中等強制要求";"作語句結(jié)尾的語言中,這樣語句就是一個明顯的語法錯誤。
可是上面這段代碼在JavaScript中卻是沒有任何語法問題的,同時也可以"正常的"運行。只是這個正常帶來的副作用太讓人郁悶了,當(dāng)這段代碼處于完整的一個功能模塊中時,給debug帶來無盡的混亂。雖然另外一個重要的原因也是自己的眼神不好,才寫成這樣,不過我還是要對JavaScript不強制要求語句以";"結(jié)尾的規(guī)定耿耿于懷!
上面代碼的結(jié)果是如果第一個if條件成立,那么兩個()和兩個{}內(nèi)的代碼都執(zhí)行。如果不成立,就執(zhí)行else以后的代碼,包括()和{}括起來的。因為JavaScript把( results && results.length > 0 )當(dāng)成一個語句作為了else的分支,然后{}就是一個獨立的語句集合了。
同時這個特性對于JavaScript的debug來說,是災(zāi)難性的。下面這個語句是正確的嗎?
if ( results == 'AdvancedTimeSelect' )
{
this.DoAdvancedTimeSelect();
// . . .
}
else ( results && results.length > 0 )
{
// . . .
}
// . . .
這是我在把"if"-"else"語句結(jié)構(gòu)變成"if"-"else if"-"else"結(jié)構(gòu)時,不小心寫成的代碼(漏加了一個if)。如果是在C#中等強制要求";"作語句結(jié)尾的語言中,這樣語句就是一個明顯的語法錯誤。
可是上面這段代碼在JavaScript中卻是沒有任何語法問題的,同時也可以"正常的"運行。只是這個正常帶來的副作用太讓人郁悶了,當(dāng)這段代碼處于完整的一個功能模塊中時,給debug帶來無盡的混亂。雖然另外一個重要的原因也是自己的眼神不好,才寫成這樣,不過我還是要對JavaScript不強制要求語句以";"結(jié)尾的規(guī)定耿耿于懷!
上面代碼的結(jié)果是如果第一個if條件成立,那么兩個()和兩個{}內(nèi)的代碼都執(zhí)行。如果不成立,就執(zhí)行else以后的代碼,包括()和{}括起來的。因為JavaScript把( results && results.length > 0 )當(dāng)成一個語句作為了else的分支,然后{}就是一個獨立的語句集合了。
相關(guān)文章
JavaScript數(shù)組方法-系統(tǒng)性總結(jié)詳解
本文是小編給大家特意整理的關(guān)于js數(shù)組方法的知識,非常實用,在面試筆試題中經(jīng)常用得到,有需要的朋友可以參考下2021-09-09uniapp小程序?qū)崿F(xiàn)瀑布流布局的思路與代碼
這篇文章主要給大家介紹了關(guān)于uniapp小程序?qū)崿F(xiàn)瀑布流布局的思路與代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04json對象轉(zhuǎn)為字符串,當(dāng)做參數(shù)傳遞時加密解密的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨son對象轉(zhuǎn)為字符串,當(dāng)做參數(shù)傳遞時加密解密的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06