从数组中检索的var是未定义的?

Cha*_*ltz 0 javascript jquery

下面的代码包含一个名为buttonColours的数组,一个0到3的随机数,然后randomColour应该是buttonColours数组中的一个随机颜色,但事实并非如此.它将randomColour归类为undefined.

var buttonColours = ["blue", "red", "green"];
var randomNumber = Math.floor(Math.random * 3);
var randomColour = buttonColours[randomNumber];
console.log(randomColour);
Run Code Online (Sandbox Code Playgroud)

console.log仅将randomColor记录为undefined.有原因吗?

Ale*_*shy 5

如果你在每一行上都有一个console.log,你就会直接知道这个问题:

var buttonColours = ["blue", "red", "green"];
console.log(buttonColours); // ["blue", "red", "green"]
var randomNumber = Math.floor(Math.random * 3);
console.log(randomNumber); // NaN
var randomColour = buttonColours[randomNumber];
console.log(randomColour); // undefined
Run Code Online (Sandbox Code Playgroud)

问题是你Math.floor(Math.random * 3)应该回归NaNMath.random()

var buttonColours = ["blue", "red", "green"];
var randomNumber = Math.floor(Math.random() * 3);
var randomColour = buttonColours[randomNumber];
console.log(randomColour);
Run Code Online (Sandbox Code Playgroud)