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不会存在这个问题。
只要写成这样就行了parseInt("08",10),指明是十进制就会返回8
javascript参考中parseInt()函数是如此描述:
parseInt 方法
返回由字符串转换得到的整数。将字符串转换成整型。
parseInt(numString, [radix])
parseInt的参数radix:
可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。
因此,如果使用parseInt("08",10)或者parseInt("09",10),
通知javascript解释器使用十进制来解析就可以得到你要的数字。
示例:
parseInt("0", 10) 返回 0
parseInt("473", 10) 返回 473
parseInt("-0", 10) 返回 0
parseInt("-FF", 16) 返回 -255
parseInt("1100110", 2) 返回 102
parseInt("2147483647", 10) 返回 2147483647
parseInt("-2147483648", 10) 返回 -2147483648
parseInt("2147483648", 10) 抛出 NumberFormatException
parseInt("99", 8) 抛出 NumberFormatException
parseInt("Kona", 10) 抛出 NumberFormatException
parseInt("Kona", 27) 返回 411787
相关文档:
1.自http://jorkin.reallydo.com/article.asp?id=275
第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。
replace()
The replace() method returns the string that results when you replac ......
javascript的跨浏览器的问题真的很烦人,
以前做AJAX的时候都是用responseText 因为功能要求都不是很复杂
现在想做一些RSS的合整,觉得用JS来做能节省很多的服务器资源
尽量往RIA的这边靠拢吧。
因为手头上没有一份完整的DOM的文档,解析XML来真的可以说的焦头烂额,
虽然用FOR IN 能读出对象的所有属性和方法,可惜这 ......
JavaScript 是 Web 开发与设计中不可或缺的东西,不管是一个简单的网页还是一个专业的站点,也不管你是高手还是菜鸟,如今
JavaScript 库越来越强大,可以胜任许多复杂的工作,然而同时,人们在众多 JavaScript 库面前又觉得无所适从,本文,我们将使用
Google 搜索出排名前 10 位的 JavaScript 库,并对它们逐一进行介绍 ......
10:33:41 2009-11-14
function checkDate() {
//取得date的值
if(!document.getElementById || !document.createTextNode()){return;}
var dateFiled = document.getElementById('date');
if(!dateFiled) {return;}
var dateValue = dateFiled.value;
var checkPattern = new RegExp("\\d{2}/\\d{2}/\\d ......
String对象的 charAt(x)对象 反回指定对象的第多少位的字母
lastIndexOf("string") 从右到左询找指定字符,没有返回-1
......