2015-09-03 33 views
-1

所以我写了这个为我的第一个计算机科学类作业。但是,如果输入是gpa(A),则页面返回结果为3。这就像只有第一个条件if正在运行。我转换了A,B,C2,3,4,但无论gpa(r)是什么,它始终是第一个if。这是如何发生的?倍数,但只运行第一个? javascript

var gpa = function(r) { 
     if (r = "B"){ 
      return 3; 
     } 
     if (r = "C"){ 
      return 2; 
     } 
     if (r = "A"){ 
      return 4; 
     } 
    } 
+4

'='是赋值运算符,'==='是比较运算符 –

回答

7

为了两个值之间进行比较,你应该使用======它分配一个值。

var gpa = function(r) { 
    if (r == "B"){ 
     return 3; 
    } 
    if (r == "C"){ 
     return 2; 
    } 
    if (r == "A"){ 
     return 4; 
    } 
} 

阅读here=====之间的差异。

+3

更好的是,避免使用'=='并使用'==='。 –

+1

我认为单词_“需要”_在这里太强大了,''''和'<'也是比较运算符。 –

+1

非常感谢您节省了一个新手 – whales

相关问题