当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript parseInt 函数分析(转)

Javascript
一段超强的javascript代码解密方法
感觉很流畅的js实现的键盘控制(带惯性)
脚本安需导入(装载)的三种模式的对比
用js实现控制内容的向上向下滚动效果
非常不错的一个JS分页效果代码,值得研究
又一个漂亮的导航栏的下拉菜单
特想搞点新的创意出来-立体方块
得到当前行的值的javascript代码
通用的加入收藏夹代码支持IE Firefox等浏览器
javascript状态栏的字符先杂乱出现再排列组合的代码
js之弹出式窗口代码生成器
javascript实现的制作特殊字的脚本
一个加载js文件的小脚本
用JavaScript检查大写键(Caps Lock)是否打开的脚本
javascript中的几个运算符
ECMAScript 基础知识
你需要知道的JavsScript可以做什么?
JavaScript 编程引入命名空间的方法
javascript延时重复执行函数 lLoopRun.js
javascript之函数直接量(function(){})()

Javascript 中的 javascript parseInt 函数分析(转)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 299 ::
收藏到网摘: n/a

javascript的parseInt函数的一些问题分析 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。