有什么理由不使用加号运算符而不是 Number() 或 parseInt() 来返回数字?

iPz*_*ard 4 javascript

基本上,我想弄清楚这 3 个陈述之间有什么区别?有什么理由使用其中之一而不是其他吗?第一个是不好的做法吗(它有效,但我从未见过它,而且似乎没有在任何地方教过)?

+'21';
Number('21');
parseInt('21');
Run Code Online (Sandbox Code Playgroud)

Shu*_*tri 5

parseInt 解析字符串直到第一个非数字并返回找到的内容,

例如:parseInt('123abc') // returns 123;

Number如果可以的话,尝试将整个字符串转换为数字。

例如:Number('123abc') // returns NaN

Unary plus operator也可用于将字符串转换为数字,但与其他表达式和运算符一起使用时可读性不太好

在内部,+'21'将以与Number('21') * 1


归档时间:

查看次数:

1946 次

最近记录:

2 年,12 月 前