我有一个变种..
var random = Math.ceil(Math.random() * 8.8);
我有一个点击功能
$('.passShort').bind('click', function() {
// do something here and get new random number
});
我正在尝试更改全局随机变量,而不仅仅是在这个特定函数内部。
我有一个变种..
var random = Math.ceil(Math.random() * 8.8);
我有一个点击功能
$('.passShort').bind('click', function() {
// do something here and get new random number
});
我正在尝试更改全局随机变量,而不仅仅是在这个特定函数内部。
当全局变量需要真正全局时,我喜欢严格定义它们,并且尽可能避免重复代码:
setRandom();
$('.passShort').bind('click', setRandom);
function setRandom() { window.random = Math.ceil( Math.random() * 8.8 ); };
在对象上设置变量window
可确保它是真正的全局变量。您可以在random
任何地方引用它,它会给您,window.random
但使用window.random
确保您正在设置全局random
变量的值。
在函数外部使用var
,但不在函数内部使用:
var random = Math.ceil(Math.random() * 8.8);
$('.passShort').bind('click', function() {
random = Math.ceil(Math.random() * 8.8);
});
根据您声明random
变量的位置,将确定它的范围。如果你想让它成为全局的,只需声明它而不使用var
关键字。
random = Math.ceil(Math.random() * 8.8);
真的,如果您可以将您正在寻找的功能组合到一些可重用的对象(随机数生成器)中会更好吗?一个例子可能是:
var RNG = {
get randInt() { return Math.ceil(Math.random() * 8.8); },
get randFloat() { return Math.random() * 8.8; },
randRange: function(min, max) {
return min + Math.floor(Math.random() * (max - min + 1));
}
};
console.log(RNG.randInt);
console.log(RNG.randFloat);
console.log(RNG.randRange(5,10));
$('.passShort').bind('click', function() {
console.log(RNG.randInt); // Whatever you want here.
});