您的位置:首页 > 职场人生

阿里巴巴前端面试题

2010-03-29 23:12 246 查看
var b = parseInt("01");
alert("b="+b);
var c = parseInt("09/08/2009");
alert("c="+c);
写出结果
答案应该是:b=1 c=0;

为什么第二个返回的结果是0呢,因为parseInt在解析的时候,如果字符串开头是0,就把它当作八进制来解析,而八进制是由0-7八个数字组成的,没有“9”,所以返回0了.
如果要得到9,就要在'9'前面加上'x',就像这样:parseInt("0x9/08/2009"),或者parseInt("09/08/2009",10)。

其实parseInt();是能接受两个参数的,第一个参数是要解析的字符串,第二个参数表示字符串是多少位的,如果第二个参数省略,则默认是十进制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: