如何理解这段代码的意思

怎么理解这段代码,有点绕不过来,取反的结果不是true吗,求解答,(他的判断条件有点迷糊)

img

就是 判断 userInput不等于 undefined 的话 就 弹出 输入的密码不正确

这个不是取反

这个才是 和等号 连在一起 是 不等于

(!userInput!=undefined)

  1. !=的含义是不等于的意思
  2. 取反的话是这样:

flag=false
!falg就是true

userInput !=undefined是判断,不等于
userInput =!undefined是取反
你这对符号也太不敏感了


let a = 1, // 知道a等于1
if(a!=2) {  // 这时的(!=)代表不等于,属于判断
console.log('这时的a不等于2')
}
let b = false // 知道b是true
if(!b) { // 这时的(!*)代表就是取相反的意思
console.log('a取反等于true,进入判断')
}
      //首次进来userInput为undefined,不弹出
       if(userInput !=undefined)
             window.alert"你输入的密码不正确"

这个你肯定知道吧,就是当他们相等的时候,执行

userinput = undefined

然后!就是不等于,当userinput不等于undefined的时候,执行弹框

userinput = !undefined