技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> 多余的逗号

多余的逗号

浏览:2272次  出处信息

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元素

建议继续学习:

  1. JSON和JSONP的区别    (阅读:7687)
  2. XML和JSON    (阅读:6716)
  3. 如何编写一个JSON解析器    (阅读:5422)
  4. 为什么数组标号是从0开始的?    (阅读:4938)
  5. 理解JSON:3分钟课程    (阅读:4794)
  6. C语言结构体里的成员数组和指针    (阅读:4852)
  7. 将数组定义为常量    (阅读:4563)
  8. 用 JavaScript 对 JSON 进行模式匹配 (Part 1 - 设计)    (阅读:4396)
  9. Tips of Linux C programming    (阅读:3964)
  10. 前端模板引擎    (阅读:3779)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1