返回NaN值的等式

时间:2012-01-07 22:10:25

标签: javascript

老实说,我不明白为什么这不起作用。没有看到任何足够接近我项目的东西来帮助我。 这个功能:

    function sneakPast(){

    sneakChance = Math.floor((Math.random()*11)+1)+sneak;
    alert(sneakChance);
    if (sneakChance >=(6*level))
    {
        sneakSuccess = true;
    }
    else {sneakChance = false;}
}
正在从此函数调用

function sceneFourC(){
    sneakPast();
    if (sneakSuccess == true){document.getElementById("Content").innerHTML = "You are able to sneak past the mob into town. <br/><input type='button' value='Continue.' onClick='sceneFive();' />";}
    else {document.getElementById("Content").innerHTML = "You fail to sneak past the mob.<br/><input type='button'/>";}



}

当警报出现时,它只显示“NaN。”

非常感谢任何提示。

2 个答案:

答案 0 :(得分:1)

我认为其中一个基本问题是您将sneakChance设置为false而不是sneakSuccess。也就是说,还有其他问题:

试试这个:

function sneakPast() {
    var sneakChance = Math.floor((Math.random() * 11) + 1) + sneak;
    return sneakChance >= (6 * level);
}

function sceneFourC() {
    var content = document.getElementById('Content');
    if (sneakPast()) {
         content.innerHTML = "You are able to sneak past the mob into town. <br/><input type='button' value='Continue.'/>";
    } else {
         content.innerHTML = "You fail to sneak past the mob.<br/><input type='button'/>";
    }
}

即。

  1. sneakPast() 返回成功,而不是设置全局变量
  2. 不要在sceneFourC函数中重复自己。
  3. 你也加载了其他全局变量(sneaklevel等),但是如果没有更多的上下文,我们就无法清理它们。

答案 1 :(得分:1)

我认为,潜行没有定义,所以它是'未定义'。

DEMO此处

指定一个潜行的整数,它应该有用。

更改

var sneak, sneakSuccess = false;

var sneak = 0, sneakSuccess = false; //assign a valid integer to sneak