js第二天

//逻辑运算符
        // 与 同true则为true,其他都为false
        //只有当所有条件都为true的时候返回才是true
        //&&    &断路与(效率低 不用)
        console.log('A' < 'a' && 2 > 1) //true
        console.log('A' < 'a' && 2 < 1) //false

 

        // 或 一个为true就是true ||
        //||   |断路或
        console.log('A' < 'a' && 2 < 1) //true
        console.log('A' > 'a' && 2 < 1) //false

 

        // 非 取反 true变false false变true
        console.log(!('A' > 'a')) //true
        console.log(!('A' < 'a')) //false

 

        var number1, number2 = 10
        console.log(number1 != number2 && number1 < number2) //false
        console.log(number1 != number2 || number1 < number2) //true
        console.log(!(number1 < number2) || number1 < number2) //true
//三目运算符  三元运算符
        //布尔类型表达式?true的结果:false的结果
        console.log(!0 ? 10 : 20) //10
        console.log(1 != 1 ? 10 : 20) //20
        var number = 1 != 1 ? 10 : 20
        console.log(number ? 'a' : 'b') //b
        var number2 = 'a'>'B'?12+'3':45/2
        console.log(number2)//123
        console.log(typeof(number2))//string
//关系运算符
        //比较运算 ==  返回结果都是Boolean类型 true/false
        console.log(null == undefined) //true
        console.log(Boolean(null) == Boolean(undefined)) //true

        // > 大于  < 小于
        //number比较 直接比较大小
        //number和Boolean比较 将Boolean转换成number(0,1)
        //如果number类型和字符串类型比较 如果字符串里面存储的是数值 对应的就是数值比较
        //如果对应的字符串里面存储时字符串 会自动转为number类型 转不了就是NaN
        //字符串跟字符串比较 比较的是ASCII码 一套固定的编码 每个字符都有一个对应的编码值(区分大小写)
        // a-z 97-122
        // A-Z 65-90
        // 0-9 48-57
 //boolean 自动转换 true--1  number类型转boolean true
        console.log(true > 3) //false
        console.log(true == 1) //自动转换是Boolean转为number
        console.log(null == false) //null不会自动转boolean类型
        console.log(undefined == false) //undefined也不会自动转为boolean类型
        console.log(true > 0) //true
        console.log(true < 2) //true
        console.log(true > false) //true

        //>=  <= 只要满足其中一条就是true
        console.log(true >= 1) //true
        console.log(true <= 1) //true
        console.log(true <= 2) //true

        //!=
        console.log(2 != 3) //true
        console.log(3 != 3) //false

        //=赋值
        var b = 10;
        var a = b++
        console.log(a) //10
        c = ++b
        console.log(c) //12

        //NaN 特性 不能进行比较 结果返回false
        var na = Number('ABC')
        console.log(NaN == Number('ABC'))
        console.log(NaN == na)
        console.log(na == na)

        //===比较值还要比较地址  ==比较值
        var a = '123'
        var b = 123
        console.log(a == b) //true
        console.log(a === b) //false
posted @ 2022-03-22 19:30  yaoooooooooo  阅读(20)  评论(0)    收藏  举报