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 相关文章推荐
javascript一点特殊用法
May 28 Javascript
Jquery AJAX 框架的使用方法
Nov 03 Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 Javascript
JavaScript实现动画打开半透明提示层的方法
Apr 21 Javascript
基于jQuery实现的无刷新表格分页实例
Feb 17 Javascript
JS常用字符串方法(推荐)
Jan 15 Javascript
Javascript的this用法
Jan 16 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
Aug 09 jQuery
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 Javascript
JS实现点击按钮可实现编辑功能
Jul 03 Javascript
详解微信小程序之scroll-view的flex布局问题
Jan 16 Javascript
vue语法自动转typescript(解放双手)
Sep 18 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 session有效期session.gc_maxlifetime
2011/04/20 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
javascript中"/"运算符常见错误
2010/10/13 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
手把手教你把nodejs部署到linux上跑出hello world
2017/06/19 NodeJs
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
基于Django与ajax之间的json传输方法
2018/05/29 Python
Python中GeoJson和bokeh-1的使用讲解
2019/01/03 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
365 Tickets英国:全球景点门票
2019/07/06 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
工商企业管理应届生求职信
2013/11/03 职场文书
四年级语文教学反思
2014/02/05 职场文书
工作过失检讨书
2014/02/23 职场文书
求职简历自我评价范例
2014/03/12 职场文书
信息员培训方案
2014/06/12 职场文书
四风问题对照检查材料
2014/09/22 职场文书
清洁工个人总结
2015/03/04 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
公司年会开场白
2015/06/01 职场文书
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
MySQL的存储过程和相关函数
2022/04/26 MySQL