Javascript的类型运算

博客介绍了JS运算时的数据类型推断规则,在两个值相加时优先推断为string类型,而在进行“-”“*”“/”等运算时,默认按number型运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值