Переключить переменную через функцию - PullRequest
0 голосов
/ 10 августа 2011

этот вопрос довольно прост.Я хочу иметь возможность определить, является ли переменная ложной, и установить для нее значение 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 ]

1 голос
/ 10 августа 2011

Феликс прав. Попробуйте:

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)
0 голосов
/ 10 августа 2011

Вы назначаете привет новой переменной 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)
...