我正在编写一个小的实用程序,可以使我的 Canvas 操作更加轻松。但是,当我运行代码时,出现错误Uncaught SyntaxError: Unexpected token = (erik.core.js:5)
和Uncaught ReferenceError: erik is not defined (test.html:14((anonymous function)
。
这是我的HTML代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ErikJs Unit Testing</title>
<script src="erik.core.js"></script>
...
</head>
<body>
...
<canvas id="myCanvas" width="500" height="400"></canvas>
<script>
var ctx = erik.initCanvas("#myCanvas");
ctx.beginPath();
ctx.moveTo(100, 200);
ctx.lineTo(200, 300);
ctx.stroke();
</script>
</body>
</html>
还有JavaScript(erik.core.js):
var Erik = function () {
this.author = "Erik Royall";
};
Erik.prototype.initCanvas = function ( element, y = '2d' ) {
this.canvas = document.querySelectorAll( element );
this.context = canvas.getContext( y );
return this.context;
};
var erik = new Erik();
最佳答案
除了johusman的回答,默认参数现在是ECMAScript 6的一部分,这意味着这在支持此功能的JS引擎上应该完全有效。对于尚不支持默认参数的引擎,esnext项目提供了一个编译器,可从项目GitHub page中获得。