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 に答える