浅析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 相关文章推荐
JavaScript 封装Ajax传递的数据代码
Jun 05 Javascript
js数组的基本操作(很全自己整理的)
Oct 16 Javascript
jQuery解析XML文件同时动态增加js文件的方法
Jun 01 Javascript
创建一个类Person的简单实例
May 17 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
vue resource post请求时遇到的坑
Oct 19 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
Oct 25 Javascript
vue实现按需加载组件及异步组件功能
May 27 Javascript
vue+element导航栏高亮显示的解决方式
Nov 12 Javascript
修改vue源码实现动态路由缓存的方法
Jan 21 Javascript
JavaScript对象属性操作实例解析
Feb 04 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 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
PHP7 echo和print语句实例用法
2019/02/15 PHP
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
2018/10/09 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
学习新党章思想汇报
2014/01/09 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
转让协议书范本
2014/04/15 职场文书
演讲比赛策划方案
2014/06/11 职场文书
消防安全月活动总结
2015/05/08 职场文书
2016年母亲节广告语
2016/01/28 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
Redis中一个String类型引发的惨案
2021/07/25 Redis