javascript教程:实例详解parseInt()

文章简介:你所不知的parseInt。

相信大家都知道parseInt()是做什么的,这里就不啰嗦了。
以前用parseInt()从来都是parseInt(arg) , 记得在某本javascript书上看过,他还可以有第二个参数,不过从来没有用过,直到今天,
我看到两行代码:
parseInt("08"); //0
parseInt("08", 10); //8
发现,不理解为什么,于是花了一个小时细细的研究了下,原来parseInt是介样滴~

当然这里分为两种情况:
一.parseInt(arg)------只带一个参数,第二个参数省略情况
(1) parseInt('12')------此时省略第二个参数时,默认表示十进制,故'12'表示为十进制的
(2) parseInt('012')------'此处虽省略第二个参数,但是'012'是以'0'开头,所以默认为8进制
(3) parseInt('0x12')------'此处虽省略第二个参数,但是'012'是以'0x'开头,所以默认为16进制

二. parseInt(arg1, arg2)------arg1是要操作的数 , arg2是说明arg1是多少进制的数
(1) parseInt('12', 8)-----表示这里'12'是8进制的
(2) parseInt('78',10)-----表示这里'78'是10进制的
(3) parseInt('012',10)-----这里虽说'012'是以开头滴,默认是8进制的,但是第二个参数又强制告诉计算机'012'是一个10进制的数

好啦,知道以上的知识点后,我们再看下面的例子:

1. alert(parseInt('12', 8)); //10
解:将8进制的'12'转换为十进制 :1*8(8的1次幂) + 2*(8的0次幂) = 10;

2. alert(parseInt('012'));
//10

解:这里'012'是以'0'开头,所以是8进制的,那8进制的'012'转换为十进制,都同上了,但是这里可能有人觉得,同时它也省略了第二个参数,为什么不是十进制的'012',这里其实我也不知道了,程序测试结果为10,我猜想可能是检测到以'0'开头表示8进制比省略第二个参数默认为10进制的先级高吧,欢迎知道的大侠指点

3. alert(parseInt('012', 8));
//
10

解:次中情况应该很好理解,本身'012'默认就是8进制的,后续第二个参数又强调为8进制

4. alert(parseInt('012', 10));
//
12

解:此种情况'012'默认是8进制,但是第二个参数强制告诉计算机第一个数其实是10进制,所以将'012'当10进制处理结果12

5. alert(parseInt('78',8));
//7

解:表示将8进制的'78'计算parseInt,因为8进制中不可能出现8,所以直接截取第一个数字7进行运算,7*8(8的0次幂)=7

6. alert(parseInt('08',8));
//0

解:这里同第5点

7. alert(parseInt('08',10));
//9

解:这里虽是'08'默认是8进制,但是第二个参数强制为了10进制,所以结果9

8. alert(parseInt('08'));
//0

解:这里8进制的'08'只截取'0'操作

9. alert(parseInt('8',8));
//NAN

解:因为8进制中不可能出现8,所以直接NAN

10. alert(parseInt('0x12')); //18

解:这里'0x12'是以'0x'开头,所以默认是16进制,16进制的'12'转换为10进制为18

好啦,这就是我的理解,有什么用词不准确的地方,欢迎拍砖,轻点儿哦

时间: 2024-09-04 08:48:44

javascript教程:实例详解parseInt()的相关文章

Ajax教程实例详解_AJAX相关

什么是 AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下(AJAX 是一种用于创建快速动态网页的技术). 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如

Javascript复制实例详解_javascript技巧

在做项目时有一个需求,是需要复制内容到剪切板,因为有众多浏览器,所以要兼容性很重要. 1.最简单的copy,只能在IE下使用 使用clipboardData方法 <script type="text/javascript"> function copy(){ window.clipboardData.setData("text",document.getElementById("name").value); alert("T

Ajax教程实例详解

什么是 AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下(AJAX 是一种用于创建快速动态网页的技术). 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如

JavaScript运算符实例详解

核心提示:JavaScript运算符实例详解 根据处理对象的数目: 单元运算符; 二元运算符; 三元运算符. 根据功能: 赋值运算符; = += -= *= /= %=(取余) 算术运算符; + - * / %(取余) ++(递增) --(递减) - 例1: 例2: <Script> var x = y = 3;  with (document) {      write("x = 3, y = 3 <br>");      write("若x = y

JavaScript闭包实例详解_javascript技巧

一.充电 1.一切(引用类型)都是对象,对象是属性的集合. 2.函数是一种对象,但是函数却不像数组一样--你可以说数组是对象的一种,因为数组就像是对象的一个子集一样.但是函数与对象之间,却不仅仅是一种包含和被包含的关系,函数和对象之间的关系比较复杂,甚至有一点鸡生蛋蛋生鸡的逻辑. function Fn() {this.name = '王福朋';this.year = 1988;} var fn1 = new Fn(); var obj = { a: 10, b: 20 };等价于var obj

Javascript事件实例详解_基础知识

document是位于html标签之上的,可以说是权力最大的.下面的实例当你单击页面上的任何位置都会弹出"a",正是运用了document的特性. 复制代码 代码如下:  <script>             document.onclick=function(){         alert('a');     }; </script>  获取鼠标位置clientX,clientY---注意这里仅仅只是可视区的鼠标位置 复制代码 代码如下:  <sc

精彩实例详解CSS滤镜教程

css|教程|滤镜|详解 使您由浅入深了解CSS滤镜的使用,是一个不错的教程!希望对您学习CSS有用! 1.实例详解CSS滤镜(1)概述 (2005-05-04) 2.实例详解CSS滤镜(2)Mask属性 (2005-05-04) 3.实例详解CSS滤镜(3)Blur属性 (2005-05-04) 4.实例详解CSS滤镜(4)Chroma属性 (2005-05-04) 5.实例详解CSS滤镜(5)DropShadow属性 (2005-05-04) 6.实例详解CSS滤镜(6)Glow属性 (20

PHP入门教程之上传文件实例详解_php技巧

本文实例讲述了PHP上传文件的方法.分享给大家供大家参考,具体如下: Demo1.php <form enctype="multipart/form-data" action="Demo2.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000" /> 上传文件: &

JavaScript“尽快失败”的原则实例详解_javascript技巧

我第一次听说编码原则中有"尽快失败"这一条时,觉得很奇怪,为什么代码要失败?应该成功才对呀.但事实上,当代码在遇到错误的时候应该尽快的终止.为了检测各种状态,我们需要频繁的创建if语句与条件分支,而这些条件检测的结果不是成功就是失败(true&&false).之所以会有这么多的条件检测语句,是因为如果不在构建过程中植入这些监测点(checkpoint),那么浏览器内核会执行很多无用的代码,并占用许多宝贵的CPU性能和处理时间,拖慢网站加载速度. 根据那些判断结果为fal