使用JavaScript parseInt函数()和板蓝根参数(Using Javascript p

2019-06-24 02:38发布

谁能解释一下parseInt函数()功能如何运作以及基数参数是什么?

作为一个案例研究,我想获得与此代码段交手:

var maxChars = parseInt( formField.attr('maxlength') ? formField.attr('maxlength') : counter.text() );

你也可以解释这个代码是如何工作的? 为什么有formField.attr(“最大长度”)两次? 我发现使用运营商的位置相当不错的混乱!

如何基数参数在这个例子中工作?

Answer 1:

radix为另一名称base ,即2二进制,10为小数,16表示十六进制,在上更详细地解释的Mozilla开发人员网络站点 。

在您的例子有没有基数的参数 ,所以解释将回落到默认行为,通常把数字为十进制,除非他们开始以零(八进制)或0x (十六进制)。



Answer 2:

在ECMA脚本5时字符串以0开始,并没有小数点指定的默认行为是小数(而不是在早期版本中,它是八进制)

来源: parseInt函数()在Mozilla开发者网络



Answer 3:

parseInt函数两个参数 ,第二个是可选的。 字符串和基数。

字符串是解析值。 如果提供的值不是一个字符串,将其转换为字符串。

基数 是表示上述字符串的基数 (数学标记系统中的碱)2和36之间的整数。

在您的代码段基数不指定,被假定为默认值16。

var maxChars = parseInt( formField.attr('maxlength') ? formField.attr('maxlength') : counter.text() );

要定义一个名为“maxChars属性”变量。 这个变量是等于短手IF语句的评价。

您都可以从它预计将选择“formField”被称为“最大长度”变量属性。 该值将返回一个整数,它会回退到它的默认基数。

if语句检查返回的值是否是真还是假。 0,假,ectcetera将导致变量“maxChars属性”的值被设置为“计数器”结合的文本。 如果为真,将导致变量被设置为所谓的“最大长度”选择“formField”属性。

formField.attr('maxlength')

有两次,因为一个是在IF语句评估中使用,而另一个被用作值,如果在IF语句结果的条件为TRUE。



文章来源: Using Javascript parseInt() and a Radix Parameter