问答详情
源自:4-1 做判断(if语句)

为什么if()里面要用算数等号,而不是赋值等号

if括号里面写成mypen=black就是错的,为什么要写成双等号

提问者:苏哥哥的喵 2017-05-21 14:51

个回答

  • 小鱼罐头150
    2018-08-23 10:11:07

    括号里内容是需要判断,成立才进入if循环,否则跳过。

  • qq_风吹草叶树岚子_0
    2018-07-02 10:12:44

    "="给变量赋值,"=="判断变量内容是否相等,“===”判断变量内容和格式是否都相等

  • 爱上慕婉清6262634
    2017-08-16 21:24:39

    用一个=代表是赋值,写成if(mypen="black")这个判断语句等价于if(mypen!=null||mypen=="black"),即判断mypen这个变量是否不为空或者mypen赋值为"black",前面对mypen进行定义,所以mypen!=null这个条件永久满足,即判断结果永远为true

  • 今世缘0
    2017-05-21 17:37:07

    =是赋值,计算机中是从右向左计算的,即右边的值给左边;==是比较运算符,返回布尔类型true和false。if判断中的应该是布尔类型,用=的话永为true,根本没有意义;用==才是判断。



  • 慕斯卡9351328
    2017-05-21 15:46:24


    赋值和比较的概念没有搞清楚吧,“==”相当于比较等式两边的值,相等返回true,不等返回false。而在if()的括号里进行字符型的赋值等同于if(black),if括号里不接受这种类型变量,报错了就。

  • 汐染辰烟
    2017-05-21 15:41:10

    因为if语句中只能进行值之间的比较,如果符合就执行语句,不符合的就不执行,而不能去进行赋值。

    =是赋值符号   ==是判断符号中的比较符号, 判断两个值是否相等

  • woximiemie
    2017-05-21 15:41:02

    在JavaScript语言里,单单一个等于号“=”的意思是“赋值”,两个等于号“==”的意思是“等于”

    在 if 语句里,if(条件){ 条件成立时执行代码},if 后面的括号里需要加入的是判断是否成立(真或假)的条件“mypen==black”,而不是赋值语句“mypen=black”(这样写不会被系统所接受)