淺析C/C++,Java,PHP,JavaScript,Json數(shù)組、對象賦值時最后一個元素后面是否可以帶逗號
1 C,C++,Java,PHP都能容忍末尾的逗號
C,C++,Java中對數(shù)組賦值時,最后一個元素末尾的逗號可有可無。下面兩行代碼對這些語言來說是等效的。
int a[] = {1,2,3}; /* 正確 */ int a[] = {1,2,3,}; /* 正確 */
PHP這一點也繼承了C的特點,下面的兩行代碼等效。
$a = array(1,2,3); /* 正確 */ $a = array(1,2,3,); /* 正確 */
2 JavaScript視末尾逗號為語法錯誤!
然而到了JavaScript,情況大不相同了,最后一個元素末尾一定不能有逗號,否則就是語法錯誤。
var a = new Array(1,2,3); //正確 var a = new Array(1,2,3,); //報錯
對于對象,同樣不能有末尾的逗號。
var o = { name:'趙', age:12 }; // 正確 var o = { name:'趙', age:12,}; // 報錯
盡管有些瀏覽器在檢測到這種錯誤后,最大容忍地去執(zhí)行,但這不是統(tǒng)一的行為。IE系列瀏覽器統(tǒng)統(tǒng)不能容忍這種錯誤。
3 JSON同樣不能容忍末尾的逗號
{"name":"zhao", "age":12} // 正確的JSON格式 {"name":"zhao", "age":12,} // 錯誤的JSON格式
需要注意的是,JSON是一種通用數(shù)據(jù)格式,與具體編程語言無關(guān)。各種語言在解碼JSON時,也會采用不同的容忍程度。PHP的json_decode()就不能容忍末尾的逗號。
json_decode({"name":"zhao", "age":12,}); // 解析會發(fā)生錯誤
有關(guān)C/C++,Java,PHP,JavaScript,Json數(shù)組、對象賦值時最后一個元素后面是否可以帶逗號的知識小編就給大家介紹這么多,希望對大家有所幫助,欲了解更多信息請登錄腳本之家官網(wǎng)了解詳情!
相關(guān)文章
理解JavaScript中的適配器模式Adapter?Pattern
這篇文章主要介紹了理解JavaScript中的適配器模式,適配器模式即Adapter?Pattern,是作為兩個不兼容的接口之間的橋梁。這種類型的設(shè)計模式屬于結(jié)構(gòu)型模式,下文更多相關(guān)介紹需要的小伙伴可以參考一下2022-04-04js扁平數(shù)組和樹結(jié)構(gòu)相互轉(zhuǎn)換處理方法
這篇文章主要給大家介紹了關(guān)于js扁平數(shù)組和樹結(jié)構(gòu)相互轉(zhuǎn)換處理方法的相關(guān)資料,之前面試有遇到過這個問題,面試官問如何把一個數(shù)組數(shù)據(jù)扁平,然后轉(zhuǎn)化為Tree結(jié)構(gòu)數(shù)據(jù),工作中剛好也用到了,所以總結(jié)下,需要的朋友可以參考下2023-07-07js采用concat和sort將N個數(shù)組拼接起來的方法
這篇文章主要介紹了js采用concat和sort將N個數(shù)組拼接起來的方法,涉及JavaScript針對數(shù)組的合并與排序操作相關(guān)技巧,需要的朋友可以參考下2016-01-01JavaScript及jquey實現(xiàn)多個數(shù)組的合并操作
這篇文章主要介紹了JavaScript及jquey實現(xiàn)多個數(shù)組的合并操作,在某些情況下還是比較實用的,需要的朋友可以參考下2014-09-09