1.前几天写了一个JS游戏,其中,判断数组中是否包含某个元素,开始使用如下方法判断
if(appearAnimals.indexOf(randIndex) ==-1){
}
目前主流的浏览器都能正常显示,但是遇到IE9以下版本就不行,通过逐行排查,才发现是indexOf的兼容性问题。IE9以前的版本都不支持此方法,现在写一个兼容的方法如下:
if(!Array.indexOf){
Array.prototype.indexOf = function(el){
for (var i=0,n=this.length; i<n; i++){
if (this[i] === el){
return i;
}
}
return -1;
}
}
当然也可以考虑使用Jquery中inArray方法,如下
if($.inArray(randIndex, appearAnimals) ==-1){
}