Javascript的类型运算

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Fanbin168/article/details/82120098

JS在进行这种运算时 仅仅会在2个值相加时优先推断为string类型 其它情况下(比如“-”。“*”。“/”)都默觉得number型运算

<script src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">

    var a = 100;
    var b = "100";

    alert(b - a); //相当于100-number(100)  即:100-100=0  打印出:0
    alert(typeof (b - a)); //打印出:number

    alert(a + b - a);//相当于 number("100"+"100")-100  即:100100-100=100000 打印出:100000
    alert(typeof (a + b - a)); //打印出:number

    alert(a + b); //相当于 a.toString()+"100" 即:"100"+"100"=100100   打印出:100100
    alert(typeof (a + b)); //打印出:string

    alert(a + b - b);//相当于number(a.toString()+"100")-number(b) 即:nubmer("100"+"100")-100  即100100-100=100000  打印出:100000
    alert(typeof (a + b - b)); //打印出:number

    alert(a + b - b - b); //相当于 number(a.toString()+b)-number(b)-number(b) 即:number("100"+"100")-100-100=99900 打印出:99900
    alert(typeof (a + b - b - b)); //打印出:number

    alert(true + 1);//2 ,true被转化为1,false转化为0


    //由此可知道JS在进行这种运算时 仅仅会在2个值相加时优先推断为string类型 其它情况下(比如“-”。“*”。“/”)都默觉得number型运算。!
</script>

猜你喜欢

转载自blog.csdn.net/Fanbin168/article/details/82120098