浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号


Posted in Javascript onMarch 22, 2016

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数组、对象赋值时最后一个元素后面是否可以带逗号的知识小编就给大家介绍这么多,希望对大家有所帮助,欲了解更多信息请登录三水点靠木官网了解详情!

Javascript 相关文章推荐
测试你的JS的掌握程度的代码
Dec 09 Javascript
JavaScript 常用函数
Dec 30 Javascript
js判断选择时间不能小于当前时间的示例代码
Sep 24 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
Nov 06 Javascript
深入解析JavaScript中的数字对象与字符串对象
Oct 21 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
详解如何使用router-link对象方式传递参数?
May 02 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
Jun 24 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
layui form.render('select', 'test2') 更新渲染的方法
Sep 27 Javascript
vue-cli 为项目设置别名的方法
Oct 15 Javascript
js实现数字从零慢慢增加到指定数字示例
Nov 07 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
Mar 22 #Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 #Javascript
Node.js文件操作方法汇总
Mar 22 #Javascript
浅谈Sticky组件的改进实现
Mar 22 #Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 #Javascript
关于JS中match() 和 exec() 返回值和属性的测试
Mar 21 #Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
Mar 21 #Javascript
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
python读取Android permission文件
2013/11/01 Python
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
Python字典底层实现原理详解
2019/12/18 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
一份软件工程师的面试试题
2016/02/01 面试题
化验室技术员岗位职责
2013/12/24 职场文书
实习鉴定评语
2014/01/19 职场文书
初二物理教学反思
2014/01/29 职场文书
四年级下册教学反思
2014/02/01 职场文书
幼儿园教师节活动方案
2014/02/02 职场文书
新品发布会主持词
2014/04/02 职场文书
高中生毕业评语
2014/12/30 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android