首頁  >  文章  >  web前端  >  淺析C/C++,Java,PHP,JavaScript,Json陣列、物件賦值時最後一個元素後面是否可以帶逗號_javascript技巧

淺析C/C++,Java,PHP,JavaScript,Json陣列、物件賦值時最後一個元素後面是否可以帶逗號_javascript技巧

WBOY
WBOY原創
2016-05-16 15:10:001745瀏覽

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數組、物件賦值時最後一個元素後面是否可以帶逗號的知識小編就給大家介紹這麼多,希望對大家有所幫助,欲了解更多資訊請登入腳本之家官網了解詳情!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn