panmc2
2016-06-13 23:52
oDiv.style.width=parseInt(oDIv.style.width)-1+'px';
这句代码和下面这句
oDiv.style.width=(oDIv.style.width-1)+'px';
不一样吗?
parseInt(oDIv.style.width)这个是将字符串转换为整数 可以进行数学运算的,你直接用的话oDIv.style.width这个只是一个字符串 使用数学运算会出错的用加的话只是字符串的拼接就像"1"+"1"=="11"而1+1==2前者是字符串连接运算,后者是数学运算,你这个(oDIv.style.width-1)+'px';浏览器中应该是报错的,你审查元素看看控制台
那parseInt的作用仅仅是转换数字类型吗?像前几节都是直接作差,这次为何不行
oDIv.style.width是字符串类型,而1是整数类型,在Java中是无法直接运算的,所以需要通过parseInt()方法将字符串转换为数字(前提是其必须可以转换);而在JS中,遇到减号是会自动转换成数字类型进行运算。所以上述代码在js中效果是一样的
就是返回一个整型字符串
JS动画效果
113925 学习 · 1443 问题
相似问题