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 相关文章推荐
JQuery1.6 使用方法三
Nov 23 Javascript
jQuery setTimeout()函数使用方法
Apr 07 Javascript
Javascript 遍历页面text控件详解
Jan 06 Javascript
jquery的ajax异步请求接收返回json数据实例
Jun 16 Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
Jan 26 Javascript
jquery插件之文字间歇自动向上滚动效果代码
Feb 25 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
Aug 05 Javascript
通过BootStrap实现轮播图的实际应用
Sep 26 Javascript
深入理解Angularjs中$http.post与$.post
May 19 Javascript
JavaScript实现省市联动效果
Nov 22 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
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
Python判断Abundant Number的方法
2015/06/15 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Python常用编译器原理及特点解析
2020/03/23 Python
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
司马光教学反思
2014/02/01 职场文书
网络编辑岗位职责
2014/03/18 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
教师岗位聘任书范文
2014/03/29 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
如何使用PyCharm及常用配置详解
2021/06/03 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python
python基于turtle绘制几何图形
2021/06/15 Python
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS