Js renturn报错:Uncaught SyntaxError: Illegal return statement

95 阅读1分钟

今天在使用js绘制时,有如下代码:

var canvas = document.getElementById('canvas');
var btn = document.getElementById('btn');
if(!canvas.getContext) {
  console.error('抱歉!浏览器不支持。');
  return;
}

运行时浏览器提示“非法返回语句”,报错如下: image.png

原因: return 设计用于终止函数的执行,在全局代码中,产生语法错误。 参考:

  1. return - JavaScript | MDN (mozilla.org)
  2. ECMAScript5.1中文版 + ECMAScript3 + ECMAScript(合集) (yanhaijing.com)

解决:放入函数中执行。

(function () {
    var canvas = document.getElementById('canvas');
    var btn = document.getElementById('btn');
    if(!canvas.getContext) {
      console.error('抱歉!浏览器不支持。');
      return;
    }
})();