JS 多余逗号解析
内容摘要
这篇文章主要为大家详细介绍了JS 多余逗号解析,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。
JSON在JSON格式中,逗号是多个属性键值对
对此感兴趣的朋友,看看idc笔记做的技术笔记。
JSON在JSON格式中,逗号是多个属性键值对
文章正文
这篇文章主要为大家详细介绍了JS 多余逗号解析,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。JSON
在JSON格式中,逗号是多个属性键值对间的分隔符,例如:var json = { id: 1, name: 'heero' };
但在编程的时候,很容易会画蛇添足,在最后一对键值对后也加上了逗号:
var json = { id: 1, name: 'heero', };
在这种情况下,IE6、7会报错,但IE8以及其他浏览器则没有问题。
数组
在数组中,逗号是元素间的分隔符,例如:var arr = [1, 2, 3];
同样地,我们也有可能不小心在最后一个元素后加了逗号:
var arr = [1, 2, 3,];
凭直觉来说,这应该是错误的语法。但实际上,所有浏览器都对这种情况实现了兼容,包括IE6。考虑这样一段示例代码:
var arr = [1, 2, 3,];for (var i = 0; i < arr.length; i++) { alert(arr[i]); }
在IE以外的浏览器上,均依次输出1、2、3;但在IE浏览器上,却是依次输出1、2、3、undefined。明显地,IE在那个多余的逗号后加了一个undefined元素。再考虑另一种情况,多余的逗号不在末尾,而是在中间:
var arr = [1, 2,, 3,];for (var i = 0; i < arr.length; i++) { alert(arr[i]); }
所有浏览器均输出1、2、undefined、3,可见处理方式是一样的,就是在多余的逗号前插入一个undefined元素。
注:关于JS 多余逗号解析的内容就先介绍到这里,更多相关文章的可以留意
代码注释