Javascript骰子掷骰返回未识别

Javascript骰子掷骰返回未识别,javascript,dice,Javascript,Dice,我正在为我的网站写一个骰子滚轮,由于我的另一个问题,我可以在我的函数中输入数据,但我所问的数据返回未识别 //Constant var consDie = new Array(3); //Implanté les élément de constance des dés. for (var i = 0; i <= 2; i++){ consDie[i] = 12 - (i * 2);

我正在为我的网站写一个骰子滚轮,由于我的另一个问题,我可以在我的函数中输入数据,但我所问的数据返回未识别

            //Constant
        var consDie = new Array(3); //Implanté les élément de constance des dés. 
            for (var i = 0; i <= 2; i++){
                consDie[i] = 12 - (i * 2);
                console.log("D" + consDie[i]); 
            }

            var consNDice = 6; //Constante pour le nombre de dés
            var consAlign = {
                UnAl : consDie[2], 
                Bal : consDie[1], 
                Phys : consDie[0], 
                Ment : consDie[0]
            }; 
            //declaration of an object that contain the kind of dice that is rolled by powerup 

        //Variable integers
        var intDice = new Array(6); // contenant pour les résultats de dé.
        var intPhys = 0; //Phys Aligned answer counter
        var intBal = 0; //Neutral/balanced aligned answer counter
        var intMent = 0; //Mental aligned answer counter 


        //Dice Roll function

        function Dice (consAlign) {
            //Variables constant
            this.dicekind = consAlign;
            this.rollDice = function() {
                return Math.floor(Math.random()*dicekind);
            };

        }

        console.log(Dice(consAlign["Ment"]));
//常数
var consDie=新阵列(3)//君士坦丁堡酒店。

对于(var i=0;i,
Dice
函数不返回值。看起来您打算用它来构造一个新对象:

console.log(new Dice(consAlign["Ment"]));
编辑:要继续编辑,您将获得
NaN
,因为
dicekind
未定义。
5*未定义
给出
NaN
,“不是数字”

您需要在
Dice
内部使用
this.dicekind
使其工作。以下是一种工作方法:

    function Dice(kind)
    {
        this._kind = kind;
    }

    Dice.prototype.roll = function()
    {
        return Math.floor(Math.random() * this._kind) + 1;
    };

    var dice = new Dice(6);

    console.log(dice.roll());

我还在roll方法中添加了1,因此值的范围是1..6,而不是0..5。

非常感谢您的回答!好的,我这样做了,它给出了骰子应该是什么。
var nDice;nDice=new dice(consallign);console.log(nDice)它给我一个带骰子的对象…现在我如何掷骰子?你可以调用roll方法:
nDice.rollDice()
。在我的示例中,我将其重命名为just
roll
,因为您已经知道它是一个
Dice
对象,所以您不需要在方法名称中重复它。这很有帮助,我正在重新学习JavaScript,很长一段时间我没有编写任何代码。我必须重新开始!
var nDice;nDice=new Dice(conalign);console.log(nDice);for(var i=0;如果我不在()中发送一个数字,我现在就得到NaN,但我希望函数得到我的consAlign[]值?我已经扩展了我的答案来解释为什么得到NaN。它现在起作用了!我要攻击代码中的“提问”部分……我想我必须为这一部分制作JSon。