• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
邹天得
博客园    首页    新随笔    联系   管理    订阅  订阅
parseInt与Number方法

使用parseInt()你可以从字符串中获取数值,该方法接受另一个基数参数,这经常省略,但不应该。当字符串以”0″开头的时候就有可能会出问题,例如,部分时间进入表单域,在ECMAScript 3中,开头为”0″的字符串被当做8进制处理了,但这已在ECMAScript 5中改变了。为了避免矛盾和意外的结果,总是指定基数参数。

var month = "05";

var 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告终。

alert("8"/2);//返回4

alert(8/"2");//返回4

alert("8"/"2");//返回4

alert("8"+"2");//返回"82"

alert(8+"2");//返回"82"

alert(Number("8") + 2);//返回10

alert(Number("8") + "2");//返回"82"

alert(Number("08"));//返回8

alert(parseInt("08 hello"));//返回8

alert(Number("08 hello"));//返回NaN

alert(null);//返回null

alert("null");//返回null

alert(parseInt("null"));//返回NaN

alert(parseInt(null));//返回NaN

alert(Number(null));//返回0

alert(Number("null"));//返回NaN

posted on 2017-06-25 18:13  邹天得  阅读(374)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3