javascript中parseInt函数的用法

javascript的parseInt函数,大家都知道是干啥的
但你知道
parseInt("07") 返回多少 ?
parseInt("08") 又返回多少 ?

正确答案是
parseInt("07") 返回8
parseInt("08") 返回0

你知道问题在哪?
其实,这个问题可能大家都没想过吧。

用javascript的parseInt函数时,
parseInt("08")或者parseInt("09")返回的居然是0,
而parseInt("01")...parseInt("07")都是正确的。

为什么这样呢?
一开始很难理解,后来发现出现这个问题的原因是当在前面有"0"时,
javascript的debugger会认为这是一个八进制数,
而"08"和"09"不是一个合法的八进制数,
所以导致了那个问题,但是parseFloat不会存在这个问题。

javascript参考中parseInt()函数是如此描述:

parseInt 方法
返回由字符串转换得到的整数。将字符串转换成整型。

parseInt(numString, [radix])

parseInt的参数radix

可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 ‘0x‘ 的字符串被当作十六进制,前缀为 ‘0‘ 的字符串被当作八进制。所有其它字符串都被当作是十进制的。

因此,如果使用parseInt("08",10)或者parseInt("09",10),
通知javascript解释器使用十进制来解析就可以得到你要的数字。

附:
parseInt("abc")     // 返回 NaN。

parseInt("12abc")   // 返回 12。

如上图示图片轮播,当点击图片数字链接时,就是讲链接中的innerHTML值转化为十进制整型数字。

时间: 2024-10-21 00:03:45

javascript中parseInt函数的用法的相关文章

JavaScript中的函数表达式

在JavaScript中,函数是个非常重要的对象,函数通常有三种表现形式:函数声明,函数表达式和函数构造器创建的函数. 本文中主要看看函数表达式及其相关的知识点. 函数表达式 首先,看看函数表达式的表现形式,函数表达式(Function Expression, FE)有下面四个特点: 在代码中须出现在表达式的位置 有可选的函数名称 不会影响变量对象(VO) 在代码执行阶段创建 下面就通过一些例子来看看函数表达式的这四个特点. FE特点分析 例子一:在下面代码中,"add"是一个函数对象

JavaScript中valueOf函数与toString方法的使用

所有JS数据类型都拥有valueOf和toString这两个方法,null除外. JavaScript中valueOf函数方法是返回指定对象的原始值. 使用方法: object.valueOf( ). object是必选参数,是任意固有 JavaScrip对象. JavaScript 的 valueOf() 方法 valueOf() 方法可返回 Boolean 对象的原始值. 用法booleanObject.valueOf(),返回值为booleanObject 的原始布尔值.如果调用该方法的对

JavaScript中valueOf函数与toString方法

基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题,本文将详细介绍,有需要的朋友可以参考下 JavaScript中valueOf函数方法是返回指定对象的原始值.使用方法: object.valueOf( )object是必选项参数是任意固有 JScript 对象. 每个JavaScript固有对象的 valueOf 方法定义不同. 对象 返回值 Array 数组的元素被转换为字符串,这些字符串由逗号分隔,连接在

JavaScript中的函数表达式及递归

在JavaScript中,函数是个非常重要的对象,函数通常有三种表现形式:函数声明,函数表达式和函数构造器创建的函数. 本文中主要看看函数表达式及其相关的知识点. 函数表达式 首先,看看函数表达式的表现形式,函数表达式(Function Expression, FE)有下面四个特点: 在代码中须出现在表达式的位置 有可选的函数名称 不会影响变量对象(VO) 在代码执行阶段创建 下面就通过一些例子来看看函数表达式的这四个特点. 特点分析 例子一:在下面代码中,"add"是一个函数对象,&

JavaScript中isPrototypeOf函数

JavaScript中isPrototypeOf函数方法是返回一个布尔值,指出对象是否存在于另一个对象的原型链中.使用方法: object1.isPrototypeOf(object2) 其中object1为必选项.一个对象的实例. object2为必选项.另一个对象,将要检查其原型链. 如果 object2 的 原型链中包含object1,那么JavaScript中isPrototypeOf函数方法返回 true.原型链可以用来在同一个对象类型的不同实例之间共享功能.如果 object2 不是

JavaScript中charAt函数

JavaScript中charAt函数的作用是返回指定索引位置处的字符. 使用方法: strObj.charAt(index) 其中 strObj是必选项.任意 String 对象或文字. index是必选项.想得到的字符的基于零的索引.有效值是 0 与字符串长度减 1 之间的值. JavaScript中charAt函数返回一个字符值,该字符位于指定索引位置.字符串中的第一个字符的索引为 0,第二个的索引为 1,等等.超出有效范围的索引值返回空字符串. 下面的示例说明了 charAt 方法的用法

JavaScript中charCodeAt函数

JavaScript中charCodeAt函数是返回一个整数,代表指定位置上字符的 Unicode 编码. 使用方法为 strObj.charCodeAt(index) 其中 strObj是必选项.任何 String 对象或文字. index是必选项.将被处理的字符的从零开始计数的编号.有效值为 0 到字符串长度减 1 的数字. 一个字符串中的第一个字符编号为 0,第二个字符编号为 1,依此类推.如果指定位置没有字符,将返回 NaN. 以下示例阐明了 charCodeAt 方法的用法.http:

JavaScript中substr函数

JavaScript中substr函数方法是返回一个从指定位置开始的指定长度的子字符串.使用方法: stringvar.substr(start [, length ]) 其中stringvar是必选项.要提取子字符串的字符串文字或 String 对象. start是必选项.所需的子字符串的起始位置.字符串中的第一个字符的索引为 0. length是可选项.在返回的子字符串中应包括的字符个数. 如果 length 为 0 或负数,将返回一个空字符串.如果没有指定该参数,则子字符串将延续到 str

JavaScript中split函数

JavaScript中split函数方法是将一个字符串分割为子字符串,然后将结果作为字符串数组返回.使用方法: stringObj.split( [separator[, limit]]) 其中stringObj是必选项.要被分解的 String 对象或文字.该对象不会被 split 方法修改. separator是可选项.字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符.如果忽略该选项,返回包含整个字符串的单一元素数组. limit是可选项.该值用来限制返回数组中的元素