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 相关文章推荐
jquery 图片预加载 自动等比例缩放插件
Dec 25 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
Jul 31 Javascript
jquery三个关闭弹出层的小示例
Nov 05 Javascript
javascript快速排序算法详解
Sep 17 Javascript
JavaScript优化专题之Loading and Execution加载和运行
Jan 20 Javascript
canvas实现十二星座星空图
Feb 14 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
Feb 18 Javascript
详解VueJs异步动态加载块
Mar 09 Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 Javascript
让div运动起来 js实现缓动效果
Jul 06 Javascript
react项目如何使用iconfont的方法步骤
Mar 13 Javascript
微信小程序3D轮播实现代码
Sep 19 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
php实例分享之html转为rtf格式
2014/06/02 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
javascript每日必学之继承
2016/02/23 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
jquery登录的异步验证操作示例
2019/05/09 jQuery
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
Python本地与全局命名空间用法实例
2015/06/16 Python
解析Python编程中的包结构
2015/10/25 Python
python实现按行切分文本文件的方法
2016/04/18 Python
Apache如何部署django项目
2017/05/21 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
架构师岗位职责
2013/11/18 职场文书
医院总经理职责
2013/12/26 职场文书
体育专业个人求职信范文
2013/12/27 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
厨房管理计划书
2014/04/27 职场文书
求职自我推荐信
2014/06/25 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技