正式参数后面的SyntaxError:missing)

时间:2014-01-16 19:58:04

标签: javascript function var

我在调试器中反复遇到同样的错误,在形式参数之后出现“SyntaxError:missing”。

以下是我设置的参数:

var CircleOptions = {
    posBall: {
        x: 160, 
        y: 180
    },
    radius: 40,
    startAngle: 0, 
    endAngle: Math.PI * 2, 
    anticlockwise: false,
    radians: 0,
    xMove: Math.random(),
    yMove: Math.random(),
    speed:2,
    angle:80,
    velocityX:1,
    velocityY:1
};

这是我的代码:

function CircleCoordinates(CircleOptions.posBall.x, CircleOptions.posBall.y, CircleOptions.radius) {
    var left = CircleOptions.posBall.x - CircleOptions.radius,
    top = CircleOptions.posBall.y + CircleOptions.radius,
    right = CircleOptions.posBall.x + CircleOptions.radius,
    bottom = CircleOptions.posBall.y - CircleOptions.radius;
};

当我输入我的函数时,我也得到同样的错误:

function CircleCoordinates(CircleOptions.posBall.x, CircleOptions.posBall.y, CircleOptions.radius) {
    var left = CircleOptions.posBall.x - CircleOptions.radius;
    var top = CircleOptions.posBall.y + CircleOptions.radius;
    var right = CircleOptions.posBall.x + CircleOptions.radius;
    var bottom = CircleOptions.posBall.y - CircleOptions.radius;
};

任何人都可以如此善良地告诉我出了什么问题吗? :)

3 个答案:

答案 0 :(得分:5)

function CircleCoordinates(CircleOptions) {
    var left = CircleOptions.posBall.x - CircleOptions.radius,
    top = CircleOptions.posBall.y + CircleOptions.radius,
    right = CircleOptions.posBall.x + CircleOptions.radius,
    bottom = CircleOptions.posBall.y - CircleOptions.radius;
}

答案 1 :(得分:0)

function CircleCoordinates(x, y, radius) {
    var left = x - radius,
    top = y + radius,
    right = x + radius,
    bottom = y - radius;
};

我认为这就是你想要的。

答案 2 :(得分:0)

发生此错误的另一个原因是,如果您暂时性失误,并尝试为函数参数声明类型,就好像您使用的是Java或C#这样的C风格键入语言一样!

例如,此(错误语法)JavaScript函数声明将产生SyntaxError: missing ) after formal parameters

function CircleCoordinates(int x, int y, double radius) {
    // ...
};

您需要省略类型声明:

function CircleCoordinates(x, y, radius) {
    // ...
};