淺析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錯誤處理try..catch...finally+涵蓋throw+TypeError+RangeEr
這篇文章主要介紹了JavaScript錯誤處理:try..catch...finally+涵蓋throw+TypeError+RangeError,文章內容具有一定的參考價值,需要的小伙伴可以參考一下,希望對你有所幫助2021-12-12
動態(tài)加載圖片路徑 保持JavaScript控件的相對獨立性
根據新界面的要求,需要一部分圖片來增強日期控件的美觀性??紤]到既要實現加載圖表的目標,又要保持控件的獨立性以便將來的移植。2010-09-09

