问题在图片里,就是不全等和赋值的问题,求小伙伴解答,感谢呀各位
在js中,一个等号表示为赋值,两个等号表示为等于,三个等号表示为严格等于,
在if的括号里,需要写判断依据(== ,!=,> , < ....),这时需要的是判断符号而不是赋值符号,
如果在if中使用单个等于if(flag=undefined){},判断依据为赋值(不存在比较关系),输出值永远为true,则if永远为true,会永远执行if为true时的代码。
而在if(){}大括号中的表达式,表达的是当if括号中为true时执行的代码,
在这里如果写 flag==true,他的意思是判断flag是否为true,是则输出true,而不是把true值赋予flag。所以结合上下文,这样的写法通常在上下文中是无意义的,且并不会影响程序的执行。
主要是js的类型和允许空值的问题,所以会有一些不同。