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,}; // 報錯
盡管有些浏覽器在檢測到這種錯誤後,最大容忍地去執行,但這不是統一的行為。IE系列浏覽器統統不能容忍這種錯誤。
3 JSON同樣不能容忍末尾的逗號
{"name":"zhao", "age":12} // 正確的JSON格式 {"name":"zhao", "age":12,} // 錯誤的JSON格式
需要注意的是,JSON是一種通用數據格式,與具體編程語言無關。各種語言在解碼JSON時,也會采用不同的容忍程度。PHP的json_decode()就不能容忍末尾的逗號。
json_decode({"name":"zhao", "age":12,}); // 解析會發生錯誤
有關C/C++,Java,PHP,JavaScript,Json數組、對象賦值時最後一個元素後面是否可以帶逗號的知識小編就給大家介紹這麼多,希望對大家有所幫助,欲了解更多信息請登錄官網了解詳情!