JavaScript探秘:用parseInt()进行数值转换
2011-05-05 00:00
926 查看
使用parseInt()你可以从字符串中获取数值,该方法接受另一个基数参数,这经常省略,但不应该。当字符串以”0″开头的时候就有可能会出问题,例如,部分时间进入表单域,在ECMAScript 3中,开头为”0″的字符串被当做8进制处理了,但这已在ECMAScript 5中改变了。为了避免矛盾和意外的结果,总是指定基数参数。
此例中,如果你忽略了基数参数,如parseInt(year),返回的值将是0,因为“09”被当做8进制(好比执行 parseInt( year, 8 )),而09在8进制中不是个有效数字。
替换方法是将字符串转换成数字,包括:
这些通常快于parseInt(),因为parseInt()方法,顾名思意,不是简单地解析与转换。但是,如果你想输入例如“08 hello”,parseInt()将返回数字,而其它以NaN告终。
我们应该如何去了解JavaScript引擎的工作原理
JavaScript探秘:编写可维护的代码的重要性
JavaScript探秘:谨慎使用全局变量
JavaScript探秘:var预解析与副作用
JavaScript探秘:for循环(for Loops)
JavaScript探秘:for-in循环(for-in Loops)
JavaScript探秘:Prototypes强大过头了
JavaScript探秘:eval()是“魔鬼”
JavaScript探秘:用parseInt()进行数值转换
JavaScript探秘:基本编码规范
JavaScript探秘:函数声明与函数表达式
JavaScript探秘:命名函数表达式
JavaScript探秘:调试器中的函数名
JavaScript探秘:JScript的Bug
JavaScript探秘:JScript的内存管理
JavaScript探秘:SpiderMonkey的怪癖
JavaScript探秘:命名函数表达式替代方案
JavaScript探秘:对象Object
JavaScript探秘:原型链 Prototype chain
JavaScript探秘:构造函数 Constructor
JavaScript探秘:可执行的上下文堆栈
执行上下文其一:变量对象与活动对象
执行上下文其二:作用域链 Scope Chains
执行上下文其三:闭包 Closures
执行上下文其四:This指针
JavaScript探秘:强大的原型和原型链
JavaScript函数其一:函数声明
JavaScript函数其二:函数表达式
JavaScript函数其三:分组中的函数表达式
JavaScript函数其四:函数构造器
JavaScript变量对象其一:VO的声明
JavaScript变量对象其二:VO在不同的执行上下文中
JavaScript变量对象其三:执行上下文的两个阶段
JavaScript变量对象其四:关于变量
JavaScript变量对象其五:__parent__ 属性
JavaScript作用域链其一:作用域链定义
JavaScript作用域链其二:函数的生命周期
JavaScript作用域链其三:作用域链特征
JavaScript闭包其一:闭包概论
JavaScript闭包其二:闭包的实现
JavaScript闭包其三:闭包的用法
var month = "05", year = "09"; month = parseInt(month, 10); year = parseInt(year, 10); alert(month); alert(year);
此例中,如果你忽略了基数参数,如parseInt(year),返回的值将是0,因为“09”被当做8进制(好比执行 parseInt( year, 8 )),而09在8进制中不是个有效数字。
替换方法是将字符串转换成数字,包括:
+"08" // 结果是 8 Number("08") // 8
这些通常快于parseInt(),因为parseInt()方法,顾名思意,不是简单地解析与转换。但是,如果你想输入例如“08 hello”,parseInt()将返回数字,而其它以NaN告终。
延伸阅读
此文章所在专题列表如下:我们应该如何去了解JavaScript引擎的工作原理
JavaScript探秘:编写可维护的代码的重要性
JavaScript探秘:谨慎使用全局变量
JavaScript探秘:var预解析与副作用
JavaScript探秘:for循环(for Loops)
JavaScript探秘:for-in循环(for-in Loops)
JavaScript探秘:Prototypes强大过头了
JavaScript探秘:eval()是“魔鬼”
JavaScript探秘:用parseInt()进行数值转换
JavaScript探秘:基本编码规范
JavaScript探秘:函数声明与函数表达式
JavaScript探秘:命名函数表达式
JavaScript探秘:调试器中的函数名
JavaScript探秘:JScript的Bug
JavaScript探秘:JScript的内存管理
JavaScript探秘:SpiderMonkey的怪癖
JavaScript探秘:命名函数表达式替代方案
JavaScript探秘:对象Object
JavaScript探秘:原型链 Prototype chain
JavaScript探秘:构造函数 Constructor
JavaScript探秘:可执行的上下文堆栈
执行上下文其一:变量对象与活动对象
执行上下文其二:作用域链 Scope Chains
执行上下文其三:闭包 Closures
执行上下文其四:This指针
JavaScript探秘:强大的原型和原型链
JavaScript函数其一:函数声明
JavaScript函数其二:函数表达式
JavaScript函数其三:分组中的函数表达式
JavaScript函数其四:函数构造器
JavaScript变量对象其一:VO的声明
JavaScript变量对象其二:VO在不同的执行上下文中
JavaScript变量对象其三:执行上下文的两个阶段
JavaScript变量对象其四:关于变量
JavaScript变量对象其五:__parent__ 属性
JavaScript作用域链其一:作用域链定义
JavaScript作用域链其二:函数的生命周期
JavaScript作用域链其三:作用域链特征
JavaScript闭包其一:闭包概论
JavaScript闭包其二:闭包的实现
JavaScript闭包其三:闭包的用法
相关文章推荐
- js数值计算时使用parseInt进行数据类型转换(jquery)
- js数值计算时使用parseInt进行数据类型转换(jquery)
- 【JavaScript】parseInt() 数值转换的注意地方
- JavaScript 数值转换
- JavaScript 对传入时间戳进行转换(1分钟内显示刚刚,1小时内显示xx分钟前,今日的显示时分,昨天显示昨天+时分,一年内显示月日时分,一年外显示年月日)
- Javascript 函数parseInt()转换时出现bug
- 用boost::lexical_cast进行数值转换
- javascript将字符串类型转换成日期进行比较
- JavaScript 将数值转换成金额形式
- javascript---parseInt("08")或parseInt("09")转换返回0的解决办法
- JavaScript数值转换函数(Number(),parseInt(),parseFloat(),Math)总结
- JavaScript中关于数值转换的问题
- 在JAVASCRIPT中构建一个复杂的对象,并用JSON进行转换
- Javascript 函数parseInt()转换时出现bug问题
- 使用kettle转换中的JavaScript对密码进行加密和解密
- 16进制数值转换成16进制字符串,用于显示或对OllyDbg中的特征码进行整理
- Number()、parseInt()和parseFloat()数值转换
- JavaScript 使用 sort() 方法从数值上对数组进行排序
- JavaScript基础学习<一>数值的转换
- javascript 的数值转换