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 相关文章推荐
IE6,IE7下js动态加载图片不显示错误
Jul 17 Javascript
js操作textarea 常用方法总结
Dec 03 Javascript
框架页面高度自动刷新的Javascript脚本
Nov 01 Javascript
jQuery is()函数用法3例
May 06 Javascript
js实现微信分享代码
Oct 11 Javascript
Bootstrap3学习笔记(三)之表格
May 20 Javascript
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
JavaScript实现图片放大镜效果
Jun 27 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
Jun 27 Javascript
scrapyd schedule.json setting 传入多个值问题
Aug 07 Javascript
vue递归获取父元素的元素实例
Aug 07 Javascript
vue特效之翻牌动画
Apr 20 Vue.js
《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缓存类代码
2015/10/23 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
web css实现整站样式互相切换
2013/10/29 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
Django 视图层(view)的使用
2018/11/09 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
python二元表达式用法
2019/12/04 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
python Tornado框架的使用示例
2020/10/19 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
教育系毕业生中文求职信范文
2013/10/06 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers