面试题答案
一键面试1. 使用polyfill确保旧版本浏览器正常使用数组的find方法
如果JavaScript环境中不存在数组的find
方法,可以通过在Array.prototype
上定义一个find
方法来实现polyfill。以下是具体代码示例:
if (!Array.prototype.find) {
Array.prototype.find = function (callback) {
for (let i = 0; i < this.length; i++) {
if (callback(this[i], i, this)) {
return this[i];
}
}
return undefined;
};
}
2. 兼容性情况
- Chrome:Chrome 25+ 原生支持
find
方法,在Chrome 25以下版本需要使用上述polyfill才能正常使用find
方法。 - Firefox:Firefox 25+ 原生支持
find
方法,25版本以下需用polyfill。 - Safari:Safari 8+ 原生支持
find
方法,8以下版本需polyfill。 - Edge:Edge 12+ 原生支持
find
方法,12以下版本需polyfill。 - IE:IE全版本都不支持
find
方法,必须使用polyfill。