• 首页
  • IT技术
  • 生活
  • ISSUE
  • SVN
Bernie Yu

复刻生活

Javascript多余逗号IE下出错

Posted on 2015年5月11日

写好的代码在Chrome、Firfox、IE11下都测试过没有问题,可是在IE6、IE7下报错。仔细查看了代码,发现在JSON中最后多了一个逗号,去掉后没有问题了。

于是在各种浏览器下做了一下测试,得到结论是:

1. JSON最后一组键值后多逗号,IE5、IE6、IE7都报错,其他浏览器正常;

2. 数组中的逗号,根据位置不同、浏览器不同,会有不同结果。

测试代码及结果如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JS多余逗号测试</title>
</head>
<body>
	<script type="text/javascript">

	//正常
	var json_normal = {
		id: 1,
		name: 'John'
	};
	
	//所有浏览器都报错
	var json_middle = {
		id: 2,
			,
		name: 'Tom'
	};
	
	//IE5、6、7报错
	var json_last = {
		id: 2,
		name: 'Tom',
	};	
	
	
	var ary_normal = [1, 2, 3];
	for(var i=0; i<ary_normal.length; i++){
		console.log(ary_normal[i]);		
	}	
	//所有浏览器:1,2,3
	
	var ary_middle = [1, , 3];
	for(var i=0; i<ary_middle.length; i++){
		console.log(ary_middle[i]);		
	}
	//所有浏览器:1,undefined,3
	
	var ary_last = [1, 2, ];
	for(var i=0; i<ary_last.length; i++){
		console.log(ary_last[i]);		
	}
	//IE5、IE6、IE7、IE8:1,2,undefined
	//IE9、IE10、IE11及其他浏览器:1,2

</script>
</body>
</html>

补充:像下面这个用来检测浏览器版本的代码最好不要用了:

/**
 * 这里具体看看,若数组中仅有一个数字元素,-[1]则返回-1
 * 但若数组中元素个数大于一个,则返回NaN
 * IE6~8 中,[1,]被认为是两个元素,返回了NaN, !NaN == true
 * 标准浏览器和IE9中忽略多余逗号,返回-1, !-1 == false
 */
var ie = !-[1,];
alert(ie);

 

Posted in: IT技术, WEB | Tagged: JavaScript, JSON, 浏览器
← 在Synology NAS中启用MariaDB的远程访问
迅雷影音字幕保存位置 →
2015年5月
一 二 三 四 五 六 日
« 四   六 »
 123
45678910
11121314151617
18192021222324
25262728293031

标签

Android awstats bug tracking chrome database EXSi ffmpeg ffplay fpm GeoIP git hls HTML5 iOS ipkg JavaScript JSON linux lsyncd mantis MariaDB mysql N54l nginx php rtmp SVN svnlook Synology Video vps WordPress yamdi 同步 字幕 安全控件 安装 实用信息 录制 摄像头 浏览器 生活 直播 迅雷 黑群晖

近期文章

  • VPS从DirectSpace迁移到vultr
  • 查看阻止电脑进入休眠的程序
  • HDCN,纪念
  • [转] lsyncd实时同步搭建指南——取代rsync+inotify
  • 在群晖NAS上搭建MantisBT Bug跟踪系统

分类目录

  • Android
  • Database
  • Git
  • IT技术
  • Linux
  • SVN
  • Synology
  • WEB
  • WordPress
  • 未分类
  • 生活

文章归档

  • 2016年5月
  • 2015年12月
  • 2015年10月
  • 2015年7月
  • 2015年6月
  • 2015年5月
  • 2015年4月
  • 2015年3月

链接·工具

  • 百度云观测
  • 360云监控
  • 草料网二维码生成
  • 工信部投诉
  • 快递投诉
  • 北京社保查询
  • 北京公积金查询
  • 执业医师查询
  • 在线查毒:VirusTotal
  • 在线查毒:VirSCAN

Copyright © 2025 Bernie Yu.

Theme by ThemeHall.