2018年现代浏览器是否支持forEach?JS循环考题判分存疑
你的判分注释确实完全过时了!
首先直接给你结论:那道题的判分注释已经严重过时,你的判断其实更符合当前JavaScript的实际情况,w3schools关于ES5全面支持的表述是正确的。
给你拆解一下关键信息:
- 传统的
while、do-while、for循环确实是JavaScript从早期就支持的标准化循环,这部分注释没说错。 - 但关于
forEach的描述完全错误:Array.prototype.forEach是ECMAScript 5(2009年正式发布)新增的数组迭代方法,所有现代浏览器早在多年前就已经全面支持它了——甚至连IE9及以上版本的浏览器都支持,更不用说现在的Chrome、Firefox、Safari、Edge这些主流浏览器。所谓“尚未被现代浏览器实现”的说法,大概是基于10多年前的浏览器生态写的,放到现在完全不成立。 - 补充一下:除了
forEach,ES6及之后还新增了更多实用的循环方式,比如遍历可迭代对象的for...of,遍历对象属性的for...in,还有Array的map、filter等迭代方法,这些现在都是前端开发中常用的特性。
简单来说,那道题的判分标准停留在了ES5刚发布不久的早期阶段,没有跟进后续浏览器的支持情况,你的选择其实更贴合当前的实际开发环境。
内容的提问来源于stack exchange,提问作者evnica
相关产品推荐
相关产品推荐

