通过函数切换变量

时间:2011-08-10 15:31:39

标签: javascript variables toggle

这个问题很简单。我希望能够检测变量是否为false,并将其设置为true,通常称为切换。

就是这样:

var hello = false  

function toggleSt(I, E)
 {
     if ((I == "activate") && (!E))
     {
          E = !E
          alert("activated")
     }
     else if ((I == "disable") && (E))
     {
              E = !E
              alert("disabled")
     }
 }

toggleSt("activate", hello)

alert(hello)

我在JSFiddle上粘贴了代码,

http://jsfiddle.net/kpDSr/

你好仍然是假的。

2 个答案:

答案 0 :(得分:1)

菲利克斯是对的。尝试:

var hello = false 

function toggleSt(I)
 {
     if ((I == "activate") && (!hello))
     {
          hello = !hello;
          alert("activated")
     }
     else if ((I == "disable") && (hello))
     {
              hello = !hello
              alert("disabled")
     }
 }

toggleSt("activate");

alert(hello)

答案 1 :(得分:0)

调用函数时,将hello分配给新的var E.所以在函数中你有新的参数E设置为true / false。在没有hello参数的情况下调用函数,并使用hello作为全局变量将按预期工作。

var hello = false  

function toggleSt(I)
 {
     if ((I == "activate") && (!hello))
     {
          hello = !hello
          alert("activated")
     }
     else if ((I == "disable") && (hello))
     {
              hello = !hello
              alert("disabled")
     }
 }

toggleSt("activate")

alert(hello)