JavaScript不写分号带来的一个问题

helti2019年11月13日7 分钟2235 次阅读798

今天在写一段代码,由于自己写js很少手动加分号,通常会使用prettier自动化格式化,在使用prettier格式化时导致两行代码合并成了一行,从而运行这段代码报错。

有问题的写法

function shuffle(arr) { let m = arr.length while (m > 1) { let index = parseInt(Math.random() * m--) [arr[index], arr[m]] = [arr[m], arr[index]] } return arr; }

格式化后

function shuffle(arr) { let m = arr.length; while (m > 1) { // 很明显这行代码错误了 let index = (parseInt(Math.random() * m--)[(arr[index], arr[m])] = [ arr[m], arr[index] ]); } return arr; }

解决办法

1、在let index = parseInt(Math.random() * m--)后加上; 2、使用{}包住函数块

function shuffle(arr) { let m = arr.length while (m > 1) { let index = parseInt(Math.random() * m--) { [arr[index], arr[m]] = [arr[m], arr[index]] } } return arr; }

文章标签

作者

helti

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

分享这篇文章

把值得读的内容分享给朋友

Keep reading

查看全部