Js逻辑之“自增”等

来源:互联网 发布:日本搞笑综艺节目知乎 编辑:程序博客网 时间:2024/04/30 07:56

“++i”和“i++”

     var i=1;     i++; //i=i+1     console.log(i);// 2     var a=1;     console.log(a++);// 1 a++:先输出再参与运算     console.log(a);//2     var b=1;     console.log(++b);//2 ++b:先运算再输出     console.log(b);//2     var c=1;     console.log(++c + c++); // 4 先自增则c=c+1 ,c=2 (2 + 2++)=4;     console.log(c);// 3     var d=1;     console.log(d++ + d++);// 3     console.log(d);// 3     var e=1;     console.log(e++ + ++e);// 4     console.log(e);// 3

NaN与isNaN:

        var a="123adc"-1;        console.log(a);// NaN        console.log(a==NaN); // false        console.log(isNaN(1));// false        console.log(isNaN("1"));//false 隐式转换为1,再判断        console.log(isNaN("a"));// true        console.log(isNaN(true));// false 先转换为1,再判断        console.log(isNaN("true"));// true        console.log(isNaN(NaN));// true        /*           isNaN是关系运算符,会先进行隐式转换为数字        */ 

加号隐式转换:

    console.log(1+1);// 2    console.log("1"+"1");// 11    console.log("1"+"adc");// 1abc    console.log("a"+"b");// ab    /* "+" 只要有字符串都转换为字符串,加号起字符串连接的作用           没有字符串全部转换为数字,起运算作用    */

减号隐式转换:

    console.log("20"-"5");  // 15    console.log("20px"-"5px");// NaN    console.log("5"-""); // 5    console.log(5/0); // Infinty    console.log(typeof (5/0)); //number    console.log(0/0); // NaN    console.log(typeof (0/0)); //number:NaN(本身是个数学符号)    console.log("20px"*"20px");// NaN    /*      "-"隐式转换,都转换会数字再运算    */

比较运算符:

    console.log(10>3);  // true    console.log("10">"3");// false 字符串的比较是比较其unicode编码    var a="10".charCodeAt(0);    var b="3".charCodeAt(0);    console.log(a,b); // 49 51    console.log("10">3); //true    console.log("9a">5); //false 比较无意义    console.log("2">true);// true    console.log(2>true);// true  有boolean值参与的比较,都先转换为数字再比较    console.log("2"==2);// true "=="会进行隐式转换    console.log("2"===2);//false "==="既比较数据类型,又比较数值    /* 如果都是字符串,比较unicode的值       如果有数字或者布尔值,都先转换为数字再比较 */

boolean的真假:

     var c=0;     console.log(!c);//true     0 布尔假     var d=null;     console.log(!d); //true    null(空对象) 布尔假     var e;     console.log(!e);//true     undefined 布尔假     var f=NaN;     console.log(!f);//true      NaN 布尔假     var h="";     console.log(!h); // true   空字符串 布尔假          var i=3>5;     console.log(i);// true    false 布尔假     console.log(!i)
1 0
原创粉丝点击