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 相关文章推荐
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
Mar 06 Javascript
json简单介绍
Jun 10 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
Dec 15 Javascript
window.showModalDialog()返回值的学习心得总结
Jan 07 Javascript
window.open()实现post传递参数
Mar 12 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
Jul 01 Javascript
详解Javascript函数声明与递归调用
Oct 22 Javascript
js实现显示手机号码效果
Mar 09 Javascript
vue内置指令详解
Apr 03 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
js原生map实现的方法总结
Jan 19 Javascript
JavaScript 类的封装操作示例详解
May 16 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
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
php简单提示框alert封装函数
2010/08/08 PHP
php GUID生成函数和类
2014/03/10 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
js友好的时间返回函数
2016/08/24 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python实现指定字符串补全空格的方法
2015/04/30 Python
Python中正则表达式的详细教程
2015/04/30 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
工业设计专业自荐书
2014/06/05 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
2015年科室工作总结
2015/04/10 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
入党心得体会
2019/06/20 职场文书