2017-10-16 4 views
-10

次のコードは常に600を返し、なぜそれほどわからないのですか?
任意の助けいただければ幸いです。関数から返された変数が私に良い値を返さない

<p id="demo"></p> 
var freq = "0"; 

if (freq = "0") { 
    var time = 300; 
} else if (freq = "1") { 
    var time = 600; 
} 

document.getElementById("demo").innerHTML = time; 
+1

'ためFREQ = "1"'割り当て、ない比較です。あなたは 'freq ==" 1 "'を意味しましたか? – jonrsharpe

+1

'='(asign)!= '==='(比較) – Lixus

+1

単一の等号記号が値を割り当てます。比較は2 ==であり、一致するタイプとの比較は3 === – Dean

答えて

1

あなたはif条件ではなく、平等のチェックに割り当て=を使用している:あなたは、比較のため=====が必要==

3

JavaScriptで。 また、あなたの代わりにあなたのコード内の文字列の比較可能な場合(たとえば、特定の)の

var freq = "0"; 
 
if (freq === "0") { 
 
    var time = 300; 
 
} else if (freq === "1") { 
 
    var time = 600; 
 
} 
 
document.getElementById("demo").innerHTML = time;
<p id="demo"></p>

さらにいくつかのポインタ 使用回数の比較を分岐するelse if構文を使用することができます。

===は、厳密な等価比較のために使用されるMDN: Equality comparisons and sameness

0
var freq = "0"; 
var time; 


if (freq == "0") { 
    time = 300; 
    } 
    if (freq =="1") { 
    time = 600; 
} 
関連する問題