浅析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 相关文章推荐
Packer 3.0 JS压缩及混淆工具 下载
May 03 Javascript
Javascript hasOwnProperty 方法 & in 关键字
Nov 26 Javascript
用 Javascript 验证表单(form)中的单选(radio)值
Sep 08 Javascript
jquery ajax return没有返回值的解决方法
Oct 20 Javascript
JavaScript String.replace函数参数实例说明
Jun 06 Javascript
jQuery封装的tab选项卡插件分享
Jun 16 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
Sep 26 Javascript
jQuery实现圣诞节礼物动画案例解析
Dec 25 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
Oct 17 Javascript
vue2中的keep-alive使用总结及注意事项
Dec 21 Javascript
vue实现路由监听和参数监听
Oct 29 Javascript
jquery选择器和属性对象的操作实例分析
Jan 10 jQuery
使用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中使用PDF文档功能
2006/10/09 PHP
php类
2006/11/27 PHP
一步一步学习PHP(3) php 函数
2010/02/15 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
让你的网站可编辑的实现js代码
2009/10/19 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
婚庆司仪主持词
2014/03/15 职场文书
消防安全承诺书
2014/05/22 职场文书
动物科学专业求职信
2014/07/27 职场文书
质量保证书怎么写
2015/02/27 职场文书
红楼梦读书笔记
2015/06/25 职场文书
2016年学校招生广告语
2016/01/28 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
ORACLE查看当前账号的相关信息
2021/06/18 Oracle
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android
详解Vue3使用axios的配置教程
2022/04/29 Vue.js