gpt4 book ai didi

javascript - JS CoffeeScript - 来自方法的相同随机数

转载 作者:行者123 更新时间:2023-11-29 20:06:57 27 4
gpt4 key购买 nike

我使用生成 x 和 y 实例变量的 randomInt 方法在 coffeescript 中创建了一个类。但是,当我从此类创建对象时,x 和 y 值不同但两者一致。

这里是演示代码:http://jsfiddle.net/paulmason411/BvPBG/

class Shape

getRandomInt = (min, max) ->
Math.floor(Math.random() * (max - min + 1)) + min

y: getRandomInt(1,100)
x: getRandomInt(1,100)

shape1 = new Shape
shape2 = new Shape

alert(shape1.x)
alert(shape2.x)

alert(shape1.y)
alert(shape2.y)​

我需要每个提醒值都不同。

我搜索了一个解决方案,在其他编程语言中他们使用 srand() 但是 js 没有这个原生函数。

最佳答案

创建 xy 的“实例变量”(@ 使它们成为这样的变量):

class Shape

constructor: ->
@x = Shape::getRandomInt(1,100)
@y = Shape::getRandomInt(1,100)

getRandomInt: (min, max) ->
Math.floor(Math.random() * (max - min + 1)) + min


shape1 = new Shape
shape2 = new Shape

console.log(shape1.x)
console.log(shape2.x)
console.log(shape1.y)
console.log(shape2.y)

它打印了:

4813986

请注意,getRandomInt 函数已添加到 Shape.prototype 中,并且 Shape::getRandomInt(1,100) 相同Shape.prototype.getRandomInt(1,100).

关于javascript - JS CoffeeScript - 来自方法的相同随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11618861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com