js多分支语句里面关于=和==的问题?

<!DOCTYPE html>
<html lang="en">
<head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <script>
            var x = 100;

            if(x<1){
                  y = x;
            }
            else if(x>=1  && x < 10){
                  y = 2*x + 1;
            }
            else{
                  y = 5*x -17;
            }
            alert(y);
      </script>
</head>
<body>
      
</body>
</html>

上面的 y = x; y = 2*x + 1;y = 5*x -17;中间为什么写=而不是==?

=表示赋值,==和===(全等)表示判断,区别就是前者只要值相等就行,后者不仅要满足值相等并且类型也要相等

比如 

'1'==1  //true
'1'===1 //false 因为'1'type为string,1的type为number所以不相等

 

‘=’是用来赋值的,‘==’是用来比较判定的

因为你需要的是赋值而不是判断。另外==需要进行隐式转换再判断是否相等,===不进行隐式转换直接判断值是否相等