解决未捕获的SyntaxError:意外的令牌>

我有一个function来转换我的Cordova应用程序中的base64图像中的文本。 它工作正常,但在一些设备中,脚本上出现意外的令牌错误。

这是function:

function socialShare(message, font) { var y = 12; var x = 18; var canvas = document.getElementById("receipt"); var context = canvas.getContext("2d"); // calcula a largura da string mais larga context.font = font; var maxStrWidth = message.map(e => { return context.measureText(e).width; }).sort((a, b) => { return b - a; }); // configura a largura do canvas dinamicamente canvas.width = maxStrWidth[0] + 9; canvas.height = x * message.length; // seta a cor do background do canvas context.fillStyle = "#ffffe6"; context.fillRect(0, 0, canvas.width, canvas.height); // escreve o texto context.font = font; context.fillStyle = "#000"; message.forEach(e => { context.fillText(e, 3, y); y += x; }); // gera a string base64 let base64 = canvas.toDataURL("image/jpeg", 1); // chamada do plugin social share window.plugins.socialsharing.share( null, 'Comprovante de Aposta', base64, null ); } 

var maxStrWidth行上会抛出错误。 你觉得它有什么问题吗?

并非所有设备都支持ES6箭头function,对于使用旧版Chrome webview版本的旧版Android尤其如此。

如果您打算支持旧设备,最好坚持使用标准function声明。

进一步阅读:

https://strongloop.com/strongblog/an-introduction-to-javascript-es6-arrow-functions/