程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C/C++,Java,PHP,JavaScript,Json數組、對象賦值時,最後一個元素後面是否可以帶逗號?

C/C++,Java,PHP,JavaScript,Json數組、對象賦值時,最後一個元素後面是否可以帶逗號?

編輯:關於C++

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,}); // 解析會發生錯誤
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved