如何改写含箭头函数的JS代码使其兼容IE及所有浏览器
兼容IE浏览器的代码改写方案
核心修改逻辑
- 替换IE不支持的ES6箭头函数为ES5标准的普通匿名函数
- 额外兼容IE环境下
document.querySelectorAll返回的NodeList原型没有内置forEach方法的问题,避免二次报错
方案1:仅替换箭头函数(适用已做NodeList.forEach polyfill的场景)
function LoadDate() { document.querySelectorAll('[display-date]').forEach(function(el) { el.innerHTML = getTheDate(); }); }
方案2:全兼容无依赖写法(无需额外polyfill,所有浏览器通用)
直接使用兼容性最好的传统for循环遍历节点集合,完全规避API兼容问题:
function LoadDate() { var dateElements = document.querySelectorAll('[display-date]'); for (var i = 0; i < dateElements.length; i++) { dateElements[i].innerHTML = getTheDate(); } }
内容的提问来源于stack exchange,提问作者Tahani Al-abri
相关产品推荐
相关产品推荐

