JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换


Posted in Javascript onFebruary 27, 2012

2.7 类型转换
1、转换成字符串

所有对象都有toString()方法可以转换成字符串,要注意的是Number类型的toString()方法,它有两种模式,即默认模式和基模式,采用默认模式toString()方法只是用相应的字符串输出对应的10进制数字值,用基模式可以用不同的基输出数字。示例:

var iNum1=10; 
var iNum2=10.0; 
var iNum3=10; 
alert(iNum1.toString()); //outpus "10" 
alert(iNum2.toString()); //outpus "10" 
alert(iNum3.toString(2)); //outpus "1010" 
alert(iNum3.toString(8)); //outpus "12" 
alert(iNum3.toString(16)); //outpus "A"

2、转换成数字

ECMAScript提供了两种把非数字的原始值转换成数字的方法:parseInt()和parseFloat(),需要注意的是parseInt()是逐个字符转换的,直到非数字字符为止。示例程序如下:

var iNum1=parseInt("1234blue"); //returns 1234 
var iNum2=parseInt("0xA"); //returns 10 
var iNum3=parseInt("22.5"); //returns 22 
var iNum4=parseInt("blue"); //returns NaN

parseInt()方法还有基模式,可以把二进制,八进制,十六进制或其他任何进制的字符串转换成整数。基是由parseInt()第二个参数指定的,示例如下:
var iNum1=parseInt("AF",16); //returns 175 
var iNum2=parseInt("10",2); //returns 2 
var iNum3=parseInt("10",8); //returns 8 
var iNum4=parseInt("10",10); //returns 10 
//注意:如果十进制数有前导0要用基数模式 
var iNum5=parseInt("010"); //returns 8 
var iNum6=parseInt("010",8); //returns 8 
var iNum7=parseInt("010",10); //returns 10

paraseFloat()没有基模式,其他与parseInt()大致相同,示例:
var fNum1=paraseFloat("1234blue"); //returns 1234.0 
var fNum2=paraseFloat("0xA"); //returns NaN 
var fNum3=paraseFloat("22.5"); //returns 22.5 
var fNum4=paraseFloat("22.34.5"); //returns 22.34 
var fNum5=paraseFloat("0908"); //returns 908 
var fNum6=paraseFloat("blue"); //returns NaN

3、强制类型转换

ECMAScript中可用的强制类型转换如下:

Boolean(value)——把给定的值转换成Boolean型

Number(value)——把给定的值转换成数字(可以是整数或浮点数)

String(value)——把给定的值转换成字符串

示例:

var b1=Boolean(""); //false - empty string 
var b2=Boolean("hi"); //true - not empty string 
var b3=Boolean(100); //true - not zero number 
var b4=Boolean(null); //false - null 
var b5=Boolean(0); //false - zero 
var b6=Boolean(new Object()); //true object 
var i1=Number(false); //0 
var i2=Number(true); //1 
var i3=Number(undefined); //NaN 
var i4=Number(null); //0 
var f5=Number("5.5"); //5.5 
var i6=Number("56"); //56 
var i7=Number("5.6.7"); //NaN 
var i8=Number(new Object()); //NaN 
var i9=Number(100); //100

作者:天行健,自强不息
Javascript 相关文章推荐
addRule在firefox下的兼容写法
Nov 30 Javascript
js的flv视频播放器插件使用方法
Jun 23 Javascript
用Move.js配合创建CSS3动画的入门指引
Jul 22 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
Aug 31 Javascript
浅析javaScript中的浅拷贝和深拷贝
Feb 15 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 jQuery
vue-cli项目优化方法- 缩短首屏加载时间
Apr 01 Javascript
学习JS中的DOM节点以及操作
Apr 30 Javascript
Node.js搭建WEB服务器的示例代码
Aug 15 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 jQuery
原生js拖拽实现图形伸缩效果
Feb 10 Javascript
vue-列表下详情的展开与折叠案例
Jul 28 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
Feb 27 #Javascript
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
Feb 27 #Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 #Javascript
JavaScript 代码压缩工具小结
Feb 27 #Javascript
根据邮箱的域名跳转到相应的登录页面的代码
Feb 27 #Javascript
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
Feb 27 #Javascript
jQuery学习笔记之控制页面实现代码
Feb 27 #Javascript
You might like
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
对联广告js flash激活
2006/10/19 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
Python基于twisted实现简单的web服务器
2014/09/29 Python
解决Python requests 报错方法集锦
2017/03/19 Python
python交互式图形编程实例(二)
2017/11/17 Python
python+django加载静态网页模板解析
2017/12/12 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
美国性感内衣店:Yandy
2018/06/12 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
公司员工的自我评价范例
2013/11/01 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电