我想使用一個每次使用時都是隨機的全域變數。我當前的方法創建一個亂數一次,該數字保持不變。我不需要這個數字是唯一的,只是總是隨機的。
var randomNumber = Math.floor(Math.random() * 100);
$('something').css('width', randomNumber)
$('something-else').css('width', randomNumber) // want a different random number
$('a-totally-different-thing').css('width', randomNumber) // want another different random number
有沒有辦法做到這一點,或者我每次都必須使用不同的var?我想要這個的主要原因是保持代碼的干凈和可讀性,而不必一遍又一遍地把 Math.floor(Math.random() * 100) 放在任何地方。我正在嘗試生成藝術,所以它會被大量使用。我希望它是全球性的,所以我可以從任何地方參考它。
答:使用函式而不是變數。非常感謝 VLAZ 和 CherryDT
uj5u.com熱心網友回復:
您可以在全域物件上定義一個 getter:
Object.defineProperty(globalThis, 'randomNumber', {
get: () => Math.floor(Math.random() * 100)
})
console.log(randomNumber)
console.log(randomNumber)
console.log(randomNumber)
...但我覺得這很奇怪,如果我在代碼中遇到它,實際上會認為這是意想不到的、令人困惑的行為。為什么不使用函式呢?
function getRandomNumber () {
return Math.floor(Math.random() * 100)
}
console.log(getRandomNumber())
console.log(getRandomNumber())
console.log(getRandomNumber())
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/472737.html
標籤:javascript jQuery 随机的 全局变量
