JS函数中的简单函数不起作用

时间:2016-07-30 12:25:57

标签: javascript function

我想制作这个1功能并在功能2中调用它。

function d6Roll(){
            var d6 = 1 + Math.floor(Math.random() * 6);
            }
function attackModifier(){
                d6Roll();
                var aMod = d6;
                document.getElementById("rezultatD6").innerHTML = aMod;
            }

出于某种原因,它只能这样:

function d6Roll(){
            var d6 = 1 + Math.floor(Math.random() * 6);
            document.getElementById("rezultatD6").innerHTML = d6;
            }

函数是否可能无法进入另一个函数?

3 个答案:

答案 0 :(得分:2)

我想你想把第一个功能改成这个

std::stringstream

这样你就可以在第二个函数中调用它

operator<<

答案 1 :(得分:1)

  

有可能函数无法进入另一个函数吗?

完全有可能,你只是做错了。变量无法逃脱&#39;他们的范围(在这种情况下,他们所在的功能),因此您无法从.grow { transition: all .2s ease-in-out; } .grow:hover { transform: scale(1.1); } 功能访问d6。相反,返回值,如下所示:

attackModifier

然后您可以像这样获取卷的值:

function d6Roll(){
    return 1 + Math.floor(Math.random() * 6);
}

MDN documentation可能有一些关于函数返回如何工作的有用解释。

答案 2 :(得分:1)

为了获得d6函数中的attackModifier变量,您需要在d6Roll函数之外创建此变量。

看起来像:

var d6;

function d6Roll() {  ... }
function attackModifier() {...}