每次有人点击按钮时,我都会尝试获取随机数。数字的范围是从一(1)到五(5)。如果已经询问并回答了这个问题,请指出我的问题,我会删除这个问题以避免重复。
HTML
<div id="content"></div>
<button id="add">Add Object</button>
JS
$(document).ready(function(){
var Player = {
name: "One",
weapon: Sword = {
damage: 1 + Math.floor(Math.random() * 5),
speed: 10
}
}
var player_damage = Player.weapon.damage;
$("#add").on("click", function(){
$("#content").append(player_damage + " ");
})
})
答案 0 :(得分:3)
您不会在点击时更新您的号码。你只设置一次。
var Player = {
name: "One",
weapon: Sword = {
damage: 0,
speed: 10
}
}
$("#add").on("click", function(){
Player.weapon.damage = 1 + Math.floor(Math.random() * 5);
$("#content").append(Player.weapon.damage + " ");
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content"></div>
<button id="add">Add Object</button>
答案 1 :(得分:2)
在点击功能中生成新号码:
$("#add").on("click", function(){
var damage= 1 + Math.floor(Math.random() * 5);
$("#content").append(damage.toString() + " ");
})
答案 2 :(得分:0)
我使用Sword对象上的JavaScript属性更新了它。每当访问damage
属性时,它都会使用getter生成一个新值:
http://jsfiddle.net/hd7tec5f/3/
Object.defineProperty(Sword, "damage", {
get: function() {
return 1 + Math.round(Math.random() * 1));
}
});
答案 3 :(得分:0)
$(document).ready(function(){
$("#add").on("click", function(){
var Player = {
name: "One",
weapon: Sword = {
damage: 1 + Math.floor(Math.random() * 5),
speed: 10
}
};
var player_damage = Player.weapon.damage;
$("#content").append(player_damage + " ");
})
});