1 C,C++,Java,PHP都能容忍末尾的逗號(hào)
C,C++,Java中對(duì)數(shù)組賦值時(shí),最后一個(gè)元素末尾的逗號(hào)可有可無(wú)。下面兩行代碼對(duì)這些語(yǔ)言來(lái)說(shuō)是等效的。
int a[] = {1,2,3}; /* 正確 */int a[] = {1,2,3,}; /* 正確 */
PHP這一點(diǎn)也繼承了C的特點(diǎn),下面的兩行代碼等效。
$a = array(1,2,3); /* 正確 */$a = array(1,2,3,); /* 正確 */
2 JavaScript視末尾逗號(hào)為語(yǔ)法錯(cuò)誤!
然而到了JavaScript,情況大不相同了,最后一個(gè)元素末尾一定不能有逗號(hào),否則就是語(yǔ)法錯(cuò)誤。
var a = new Array(1,2,3); //正確var a = new Array(1,2,3,); //報(bào)錯(cuò)
對(duì)于對(duì)象,同樣不能有末尾的逗號(hào)。
var o = { name:'趙', age:12 }; // 正確var o = { name:'趙', age:12,}; // 報(bào)錯(cuò)
盡管有些瀏覽器在檢測(cè)到這種錯(cuò)誤后,最大容忍地去執(zhí)行,但這不是統(tǒng)一的行為。IE系列瀏覽器統(tǒng)統(tǒng)不能容忍這種錯(cuò)誤。
3 JSON同樣不能容忍末尾的逗號(hào)
{"name":"zhao", "age":12} // 正確的JSON格式{"name":"zhao", "age":12,} // 錯(cuò)誤的JSON格式
需要注意的是,JSON是一種通用數(shù)據(jù)格式,與具體編程語(yǔ)言無(wú)關(guān)。各種語(yǔ)言在解碼JSON時(shí),也會(huì)采用不同的容忍程度。PHP的json_decode()就不能容忍末尾的逗號(hào)。
json_decode({"name":"zhao", "age":12,}); // 解析會(huì)發(fā)生錯(cuò)誤
有關(guān)C/C++,Java,PHP,JavaScript,Json數(shù)組、對(duì)象賦值時(shí)最后一個(gè)元素后面是否可以帶逗號(hào)的知識(shí)小編就給大家介紹這么多,希望對(duì)大家有所幫助,欲了解更多信息請(qǐng)登錄武林網(wǎng)官網(wǎng)了解詳情!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注