浅析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 相关文章推荐
浏览器窗口加载和大小改变事件示例
Feb 27 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
Oct 27 Javascript
详解JavaScript基本类型和引用类型
Dec 09 Javascript
浅谈几种常用的JS类定义方法
Jun 08 Javascript
浅谈jquery的map()和each()方法
Jun 12 Javascript
node.js中module.exports与exports用法上的区别
Sep 02 Javascript
深入理解vue Render函数
Jul 19 Javascript
JS倒计时实例_天时分秒
Aug 22 Javascript
JavaScript实现的超简单计算器功能示例
Dec 23 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
Sep 21 Javascript
纯JS开发baguetteBox.js响应式画廊插件
Jun 28 Javascript
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
使用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生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
extjs 为某个事件设置拦截器
2010/01/15 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
Python进程间通信之共享内存详解
2017/10/30 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Python实现批量压缩图片
2018/01/25 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
python 带时区的日期格式化操作
2020/10/23 Python
python re的findall和finditer的区别详解
2020/11/15 Python
信用社实习人员自我鉴定
2013/09/20 职场文书
投资意向书范本
2014/04/01 职场文书
联谊活动总结
2014/08/28 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
欢送会主持词
2015/07/01 职场文书
Redis 哨兵机制及配置实现
2022/03/25 Redis
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL