我创建了一个简单的函数,它应该初始化一个数组,并在每次调用函数时从它返回一个随机元素。
function test(str)
{
var myArray =
{
"Test1 "+ str + " Test1",
"Test2 "+ str+ " Test2"
}
return myArray[Math.random()*myArray.length+0];
}
console.log(test("FOO"));
但我得到Uncaught SyntaxError: Unexpected token +
答案 0 :(得分:2)
对JS数组使用[]而不是{}。
function test(str)
{
var myArray =
[
"Test1 "+ str + " Test1",
"Test2 "+ str+ " Test2"
]
return myArray[parseInt(Math.random()*myArray.length, 10)];
}
答案 1 :(得分:2)
您的代码中myArray
不是数组,
function test(str){
var myArray = ["Test1 " + str + " Test1","Test2 " + str + " Test2"]
return myArray[(Math.random() * myArray.length) | 0];
}
|
这是一个有点明智的OR运算符。在做operand1时|操作数2,两个操作数都将转换为 base 2 并对其执行OR
操作。最后,结果将转换回 base 10 。因此,小数点将被删除。