全局变量的增加在功能上不起作用

时间:2017-05-03 23:29:01

标签: javascript

我试图这样做,(不一样,这是我正在做的一个例子)

var health = 1;

function example(){health++;}

if (health == 2) {alert("done");}

但它不起作用。仅当health++ health==2具有相同功能时才有效。但我不想将health==2包含在函数示例中。全局,功能和功能失效(相同的变量)不起作用,我不知道为什么,你能解释或给我一个解决方案吗?感谢...

编辑...

我的代码如下所示。我在这里缺少什么?

第一

var health = 2;

第二

        function collision6($taskapsa2, $character) {
          var x1 = $taskapsa2.offset().left;
          var y1 = $taskapsa2.offset().top;
          var h1 = $taskapsa2.outerHeight(true);
          var w1 = $taskapsa2.outerWidth(true);
          var b1 = y1 + h1;
          var r1 = x1 + w1;
          var x2 = $character.offset().left;
          var y2 = $character.offset().top;
          var h2 = $character.outerHeight(true);
          var w2 = $character.outerWidth(true);
          var b2 = y2 + h2;
          var r2 = x2 + w2;

          if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return;
     else {if($character.is(":visible")) {
              $("#character").hide();
              if ($("#character").is(':hidden')) {
       // ...
       document.getElementById("demo").innerHTML = "OYUNU KAYBETTIN!";
       health++; // here



    }
              $("#mavikutu").show();
              var audio111 = new Audio('kaybedince.wav');
              audio111.play();
            } }

        }


    window.setInterval(function() {
        $('#result').text(collision6($('#taskapsa2'), $('#character')));
    }, 200);

第三次

collision6();
if (health==3){alert("abc");}

1 个答案:

答案 0 :(得分:1)

您正在调用collision6()函数而没有任何参数,但在函数声明中它需要2个参数来修改健康变量。

您需要将$taskapsa2$character参数传递给collision6函数。