Android设备出现Uncaught SyntaxError: Unexpected Token错误排查
解决Android设备上JavaScript箭头函数的语法错误问题
嘿,我之前帮人排查过一模一样的问题!你这个报错的核心原因很明确:Android设备上的旧版WebView或者浏览器不支持ES6的箭头函数语法。箭头函数() => {}是ES6才推出的特性,而有些Android系统自带的WebView版本比较老旧,根本识别不了=>这个符号,所以才会抛出「Uncaught syntaxerror unexpected token」的错误,刚好指向你写箭头函数的那一行。
给你两个简单的解决办法:
- 直接把箭头函数换成传统的函数表达式写法,这是所有浏览器都能兼容的经典写法:
window.onload = function() { const myheading = document.getElementById('header'); const myButton = document.getElementById('myButton'); const bgColor = ... // 你的后续代码逻辑 }; - 如果你的代码里还有其他ES6+特性,或者想保留现代语法,也可以用Babel这类工具把代码转译成ES5兼容的版本,但对于你这个简单的DOM测试场景,直接换传统函数显然更省事。
另外提个小细节:如果你的Android设备系统版本特别老(比如Android 4.4及以下),可能连const也不支持,这种情况下可以把const换成var,进一步提升兼容性:
window.onload = function() { var myheading = document.getElementById('header'); var myButton = document.getElementById('myButton'); var bgColor = ... // 你的后续代码逻辑 };
内容的提问来源于stack exchange,提问作者khan
相关产品推荐
相关产品推荐

