我们现在开发基本都是基于用chrome来进行开发和调试,但是用户使用的可能是老版的IE8之类的浏览器,这样就存在一个兼容性的问题。老版的IE有些代码并不认识,比如Array.forEach(),Array.filter()等,这是我们如何调试呢。
1.按F12打开IE的开发人员工具,脚本->启动调试
这样,js自动会在报错的代码处命中。
注:解决IE无法识别Array.filter解决只需要加上以下代码为Array手动扩展此方法即可:
if (!Array.prototype.filter) {
Array.prototype.filter = function (fun /*, thisArg */) {
"use strict";
if (this === void 0 || this === null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (typeof fun !== "function")
throw new TypeError();
var res = [];
var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
for (var i = 0; i < len; i++) {
if (i in t) {
var val = t[i];
if (fun.call(thisArg, val, i, t))
res.push(val);
}
}
return res;
};
}