淺析C/C++,Java,PHP,JavaScript,Json數組、對象賦值時最后一個元素后面是否可以帶逗號
1 C,C++,Java,PHP都能容忍末尾的逗號
C,C++,Java中對數組賦值時,最后一個元素末尾的逗號可有可無。下面兩行代碼對這些語言來說是等效的。
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是一種通用數據格式,與具體編程語言無關。各種語言在解碼JSON時,也會采用不同的容忍程度。PHP的json_decode()就不能容忍末尾的逗號。
json_decode({"name":"zhao", "age":12,}); // 解析會發(fā)生錯誤
有關C/C++,Java,PHP,JavaScript,Json數組、對象賦值時最后一個元素后面是否可以帶逗號的知識小編就給大家介紹這么多,希望對大家有所幫助,欲了解更多信息請登錄腳本之家官網了解詳情!
相關文章
理解JavaScript中的適配器模式Adapter?Pattern
這篇文章主要介紹了理解JavaScript中的適配器模式,適配器模式即Adapter?Pattern,是作為兩個不兼容的接口之間的橋梁。這種類型的設計模式屬于結構型模式,下文更多相關介紹需要的小伙伴可以參考一下2022-04-04JavaScript及jquey實現(xiàn)多個數組的合并操作
這篇文章主要介紹了JavaScript及jquey實現(xiàn)多個數組的合并操作,在某些情況下還是比較實用的,需要的朋友可以參考下2014-09-09