Amechi
Amechi

Reputation: 800

SyntaxError: missing ) after formal parameters

I run into the same error over and over again within the debugger, "SyntaxError: missing ) after formal parameters".

Here are my parameters I set:

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
};

This is my code:

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;
};

I get the same error as well when I enter my functions as well:

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;
};

Can anyone be so kind as to tell me what is wrong? :)

Upvotes: 6

Views: 27580

Answers (3)

Jon Schneider
Jon Schneider

Reputation: 27003

Another reason that this error can occur is if you had a temporary mental lapse, and tried to declare types for your function parameters as though you were working in a C-style typed language such as Java or C#!

For example, this (incorrect syntax) JavaScript function declaration will produce SyntaxError: missing ) after formal parameters:

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

You need to omit the type declarations:

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

Upvotes: 0

Marko
Marko

Reputation: 2734

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;
}

Upvotes: 6

Vic
Vic

Reputation: 8991

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

I think that's what you want.

Upvotes: 0

Related Questions