苏哥哥的喵
2017-05-21 14:51
if括号里面写成mypen=black就是错的,为什么要写成双等号
括号里内容是需要判断,成立才进入if循环,否则跳过。
"="给变量赋值,"=="判断变量内容是否相等,“===”判断变量内容和格式是否都相等
用一个=代表是赋值,写成if(mypen="black")这个判断语句等价于if(mypen!=null||mypen=="black"),即判断mypen这个变量是否不为空或者mypen赋值为"black",前面对mypen进行定义,所以mypen!=null这个条件永久满足,即判断结果永远为true
=是赋值,计算机中是从右向左计算的,即右边的值给左边;==是比较运算符,返回布尔类型true和false。if判断中的应该是布尔类型,用=的话永为true,根本没有意义;用==才是判断。
赋值和比较的概念没有搞清楚吧,“==”相当于比较等式两边的值,相等返回true,不等返回false。而在if()的括号里进行字符型的赋值等同于if(black),if括号里不接受这种类型变量,报错了就。
因为if语句中只能进行值之间的比较,如果符合就执行语句,不符合的就不执行,而不能去进行赋值。
=是赋值符号 ==是判断符号中的比较符号, 判断两个值是否相等
在JavaScript语言里,单单一个等于号“=”的意思是“赋值”,两个等于号“==”的意思是“等于”
在 if 语句里,if(条件){ 条件成立时执行代码},if 后面的括号里需要加入的是判断是否成立(真或假)的条件“mypen==black”,而不是赋值语句“mypen=black”(这样写不会被系统所接受)
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题
回答 3
回答 2