Javascript 构造函数函数';s方法不起作用

Javascript 构造函数函数';s方法不起作用,javascript,Javascript,我已经编写了以下代码 <!DOCTYPE html> <html> <body> <h1 id="para"></h1> <script> function Dice(sides) { this.sides = sides; this.roll = function() {

我已经编写了以下代码

<!DOCTYPE html>
<html>
<body>
    <h1 id="para"></h1>
    <script>                
        function Dice(sides) {  
            this.sides = sides; 
            this.roll = function() {                                            
                var randomNumber = Math.floor(Math.random() * this.sides) + 1;
                console.log(randomNumber);
            }                       
        }

        var dice = new Dice(6);
        var dice10 = new Dice(10);
    </script>
</body>
</html>

函数骰子(边){
这个边=边;
this.roll=函数(){
var randomNumber=Math.floor(Math.random()*this.sides)+1;
控制台日志(随机编号);
}                       
}
变量骰子=新骰子(6);
var dice10=新骰子(10);

当我检查控制台时,它没有打印随机数&似乎我的“滚动”方法不起作用。如果我不使用roll方法编写代码,它就正常工作了。但是我想提高我在JS方面的技能,所以我很想知道我的构造函数中roll方法有什么问题

实例化后尝试调用对象的方法:

dice.roll();
dice10.roll();

调用构造函数后,您不会看到
roll()
s结果,因为构造函数定义了方法,而不是调用它(在您的情况下)。

尝试在实例化后调用对象的方法:

dice.roll();
dice10.roll();
调用构造函数后,您不会看到
roll()
s结果,因为构造函数定义了方法,而不是调用它(在您的情况下)。

您需要调用
roll
函数:

var dice = new Dice(6);
dice.roll();
您需要调用
roll
函数:

var dice = new Dice(6);
dice.roll();
添加行

dice.roll();

最后

问题是您定义了构造函数,但没有调用roll。

添加行

dice.roll();

最后


问题是您定义了构造函数,但没有调用roll。

因为您没有调用函数,只是定义了它。旁注:“Dice”是复数形式。其中的一个称为“die”。因为您没有调用函数,所以只定义它。旁注:“Dice”是复数。其中一个被称为“死”。