2012-02-19 9 views
1

グローバル変数を考慮する必要があるjavascript関数に問題があります。Javascriptのif節は機能しません

これは、私が実装したい制御機構のようなものですが、正しくはできないようです。私は他に何もしないでSetStartTimeを呼び出すと

は、ここで私は常に警告を取得し、関連するコード

<script type="text/javascript"> 
var active = 0; 

function SetEndTime(lngOpenPersonID,lngToDoID){ 
if(active = 0){ 
    alert('Time has been stopped'); 
} 
else{ 
    var strURL = 'blabla'; 
    CallAJAXURL(strURL); 
} 
active = 0; 
} 
function SetStartTime(lngToDoID,lngToDoItemID,bitCountsForTotal){ 
if(active = 1){ 
    alert('Time has been started'); 
} 
else{ 
    var strURL = 'blabla'; 
    CallAJAXURL(strURL); 
} 
active = 1; 
} 

です。私の構文に何か問題はありますか?

答えて

2

そのない(alert = 1) ...その(alert == 1) ..あなたの状態が常に真と言う - 1

にご割り当てる警告
4
if (active == 0) { 

あなたは比較演算子を作るために "=" 文字が必要です。タイププロモーションなしで同等性の比較を実行する===もあります。

割り当て操作が有効な式であるため、コードは構文的に正しいです。あなたが持っていた最初のifのステートメント:式の値が常にゼロであるため、

if (active = 0) { 

は、trueになることはありません。第二1:値は常に1であるため、

if (active = 1) { 

は逆に常にtrueです。

関連する問題