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进行拖拽
Jul 20 Javascript
JS中获取数据库中的值的方法
Jul 14 Javascript
JavaScript实现简单图片翻转的方法
Apr 17 Javascript
点评js异步加载的4种方式
Dec 22 Javascript
JavaScript生成验证码并实现验证功能
Sep 24 Javascript
vue.js 获取当前自定义属性值
Jun 01 Javascript
基于canvas粒子系统的构建详解
Aug 31 Javascript
javascript获取指定区间范围随机数的方法
Sep 08 Javascript
js如何找出字符串中的最长回文串
Jun 04 Javascript
vue项目实现多语言切换的思路
Sep 17 Javascript
JavaScript async/await原理及实例解析
Dec 02 Javascript
element tree树形组件回显数据问题解决
Aug 14 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之uniqid()函数用法
2014/11/03 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
JS判断对象是否存在的10种方法总结
2013/12/23 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
Python同时迭代多个序列的方法
2020/07/28 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
pip install命令安装扩展库整理
2021/03/02 Python
我们是伦敦女孩:WalG
2018/01/08 全球购物
三年大学生活自我鉴定
2014/01/21 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
运动会跳远广播稿
2015/08/19 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript