实际上,Javascript 开放地支持一些数字字符串直接进行运算,这使得在Web编程中不清楚客户端传来的数据被解析成字符串还是整数时得到诸多方便。
例如:
10*10
10*"10"
"10"*"10"
10+"45"*"4"/2
甚至 "12.5"*"8"。
都返回 Number 类型的 100(不是字符串"100")。
当然 "50"+"50" 不行,因为这会被解析为字符串 "5050"。
也可以比较,比如 "100"==50+50,但并非全等(===)。
但是 parseInt 在这种情况下依旧有其用处。因为对于 "100px"*100 这种运算,显然难以得到我们希望的结果——我们甚至可以不需要 "px"。
比如,使用 HTML DOM 将 id="area" 的元素宽度缩小为 50%,则可使用以下代码:
var w=parseInt(document.getElementById("area").style.width);
document.getElementById("area").style.width = w/2 + "px";
MCCF
MCCF
353***4841@qq.com1年前 (2020-01-30)