我正在编写一个小的实用程序,可以使我的 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中获得。

09-25 17:30