IE6与IE7的unshift 方法
又发现一个IE不标准的地方,unshift方法会返回新数组的长度,但IE6与IE7则返回undefined。
我们可以通过以下方式修正此bug:
var ie = (" " + (/*@cc_on @_jscript_version @*/ - 1)).slice(-1);
if(ie== 6 || ie==7 || document.documentMode && document.documentMode !== 8){
var fn = "prototype",
unshiftFix = function () {//改变原对象
var args = [0,0];
for(var i=0,n=arguments.length;i<n;i++){
args[args.length] = arguments[i]
}
Array[fn].splice.apply(this, args);
return this.length; //返回新数组的长度
}
Array[fn].unshift = unshiftFix
}
机器瞎学/数据掩埋/模式混淆/人工智障/深度遗忘/神经掉线/计算机幻觉/专注单身二十五年
浙公网安备 33010602011771号