2

我正在编写一个小实用程序,可以让我更轻松地使用画布。但是,当我运行代码时,我得到了错误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();
4

2 回答 2

3

JavaScript 没有默认参数值。y = '2d'从函数声明中删除。

另请参阅为 JavaScript 函数设置默认参数值

于 2013-04-17T14:19:32.037 回答
2

除了 johusman 的回答之外,默认参数现在是 ECMAScript 6 的一部分,这意味着这在支持此功能的 JS 引擎上应该是完全有效的。对于尚不支持默认参数的引擎,esnext项目提供了一个转译器,可从项目GitHub 页面获得。

于 2015-02-27T17:44:52.460 回答