flash 脚码j=parseInt(8*Math.random());类型不匹配,哪位大侠能解决一下啊?

来源:百度知道 编辑:UC知道 时间:2024/06/19 13:19:44
var listx = Array(10, 11, 21, 31, 41, 51, 61, 71);
var i, j, x;
for(i=0; i<8; i++){
j=parseInt(8*Math.random());
x=listx[i];
listx[i]=listx[j];
listx[j]=x;
}
trace(listx);
语法检测出现:**错误** 场景=场景 1, 图层=图层 1, 帧=1:第 4 行: 类型不匹配。
j=parseInt(8*Math.random());

动作脚本错误总数:1 报错:1
哪位大侠能帮小弟解决一下``先谢谢了`

类型不匹配,parselnt函数后面的参数必须是字符串,而8*Math.random()得出的将会是一个数字而不是字符串,所以类型不匹配,有两个解决方法:
1.给 8*Math.random() 加上双引号变成字符串: "8*Math.random()";
2.不用parselnt函数,将 j=parseInt(8*Math.random()) 改为
j=8*Math.random();
这样就可以了,从脚本上来看,你是需要取得随机数,所以应该用第二种方法。

en