js数组求和
来源:互联网 发布:淘宝网什么卖的最火 编辑:程序博客网 时间:2024/06/05 12:43
8、数组求和
8.1 普通版
let arr = [1, 2, 3, 4, 5]function sum(arr){ let x = 0 for(let i = 0; i < arr.length; i++){ x += arr[i] } return x}sum(arr) // 15
优点:通俗易懂,简单粗暴
缺点:没有亮点,太通俗
8.2 优雅版
let arr = [1, 2, 3, 4, 5]function sum(arr) {return arr.reduce((a, b) => a + b)}sum(arr) //15
优点:简单明了,数组迭代器方式清晰直观
缺点:不兼容 IE 9以下浏览器
8.3 终极版
let arr = [1, 2, 3, 4, 5]function sum(arr) {return eval(arr.join("+"))}sum(arr) //15
优点:让人一时看不懂的就是"好方法"。
缺点:
eval 不容易调试。用 chromeDev 等调试工具无法打断点调试,所以麻烦的东西也是不推荐使用的…
性能问题,在旧的浏览器中如果你使用了eval,性能会下降10倍。在现代浏览器中有两种编译模式:fast path和slow path。fast path是编译那些稳定和可预测(stable and predictable)的代码。而明显的,eval 不可预测,所以将会使用 slow path ,所以会慢。
更多关于 eval
的探讨可以关注这篇文章: JavaScript 为什么不推荐使用 eval?
你可能不知道的前端知识点:eval的使用细则
阅读全文