我在调试器中反复遇到同样的错误,在形式参数之后出现“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;
};
任何人都可以如此善良地告诉我出了什么问题吗? :)
答案 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) {
// ...
};