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

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.