意外的令牌'='Javascript

时间:2016-02-17 14:37:08

标签: javascript ecmascript-6

我遇到了Javascript问题,在尝试运行我的脚本时,我一直收到意外的令牌错误'='。我已经做了一些挖掘,以这种方式声明默认参数的方式对于ES6来说是新的。我正在使用“use strict”,这就是我假设使用最新Javascript功能的方式。但是在尝试使用默认参数时我仍然遇到此错误,有人知道为什么吗? 这是我的代码:

    // rectangle sprite
    "use strict";
// creates canvas
let canvas = document.createElement("canvas");
canvas.setAttribute("width", "500");
canvas.setAttribute("height", "500");
canvas.style.border = "1px dashed black";
document.body.appendChild(canvas);
let ctx = canvas.getContext("2d");

let rectangle = function(   
    //Define the function's parameters with their default values
    width = 32,
    height = 32,
    fillStyle = "gray",
    strokeStyle = "none",
    lineWidth = 0,
    x = 0,
    y = 0
    ) {
    //Create an object called `o` (the lowercase letter "o")
    //that is going to be returned by this
    //function. Assign the function's arguments to it
    let o = {width, height, fillStyle, strokeStyle, lineWidth, x, y};
    //Add optional rotation, alpha, visible, and scale properties
    o.rotation = 0;
    o.alpha = 1;
    o.visible = true;
    o.scaleX = 1;
    o.scaleY = 1;
    //Add `vx` and `vy` (velocity) variables that will help us move the sprite
    o.vx = 0;
    o.vy = 0;
    //Add a `render` method that explains how to draw the sprite
    o.render = ctx => {
    ctx.strokeStyle = o.strokeStyle;
    ctx.lineWidth = o.lineWidth;
    ctx.fillStyle = o.fillStyle;
    ctx.beginPath();
    ctx.rect(-o.width / 2, -o.height / 2, o.width, o.height);
    if (o.strokeStyle !== "none") ctx.stroke();
    ctx.fill();
    };
    //Push the sprite object into the `children` array
    children.push(o);
    //Return the object
    return o;
};

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)