兼容兼容兼容:浏览器兼容性大集合

toFixed()方法:121页

在给toFixed传入0的情况下,IE 8 及之前版本不能正确舍入范围在{[-0.94,-0.5], [0.5, 0.94]}之间的值。对于这个范围的值,IE会返回0,而不是-1或1

IE9修复了这个问题

其它浏览器都能返回正确的值

delete操作符:194页

使用delete操作符删除全局属性时:

IE9以及其他浏览器:

使用var 语句添加的window属性(即全局变量)的[[Configurable]]特性的值为false,因此这样定义的属性不可以通过delete操作符删除delete操作返回false)。

直接在window对象上定义的属性可以通过delete操作符删除,[[Configurable]]特性的值为true(delete操作返回true).

IE8及以下浏览器:

IE8及以下版本在遇到使用delete删除window属性的语句时,不管该属性的[[Configurable]]是何值,都会抛出错误,以示警告。

如:

var age = 29;

delete window.age;//returns false 在IE<9时抛出错误,在其他所有浏览器中都返回false

alert(window.age);//29

window.color = 'red';

delete window.color;//returns true 在IE<9时抛出错误,在其他所有浏览器中都返回true

alert(window.color);//undefined

Object引用类型相关

 对象字面量

在对象字面量的最后一个属性后面添加逗号" , ",会在IE7及更早版本和Opera中导致错误

数组引用类型相关

1.数组字面量表示法

var values = [1,2,]//2项或3项 第3项为undefined

var values = [,,]//2项或3项 每项都是undefined

IE8以及以前有bug,两values都是3项

IE9+以及其他浏览器都是2项

2.低版本浏览器不支持Array.isArray()方法

(ES5添加,支持浏览器:IE9+,FIREFOX 4+,SAFARI 5+ ,OPERA 10.5+,CHROME)

3.数组的位置方法 (支持浏览器:IE9+,......................)

indexOf(term,[start])

lastIndexOf(term,[startRight])

4.迭代方法 (IE9+,.......................)

every:numbers.every(function(term,index,array)){...}

filter:返回  返回值为true的项所组成的数组

forEach:无返回值

map:返回 返回值组成的数组

some

posted @ 2016-07-08 17:22  Carolina  阅读(342)  评论(0编辑  收藏  举报