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获取距今n天前的日期
Jul 08 Javascript
js四舍五入数学函数round使用实例
May 09 Javascript
jquery 构造函数在表单提交过程中修改数据
May 25 Javascript
js实现数组转换成json
Jun 26 Javascript
jQuery跨域问题解决方案
Aug 03 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
Javascript动画效果(1)
Oct 11 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 Javascript
node中使用es6/7/8(支持性与性能)
Mar 28 Javascript
AjaxFileUpload.js实现异步上传文件功能
Apr 19 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 Javascript
vue mvvm数据响应实现
Nov 11 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
php可变长参数处理函数详解
2017/02/22 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
Seajs是什么及sea.js 由来,特点以及优势
2016/10/13 Javascript
ECMAScript6变量的解构赋值实例详解
2017/09/19 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
jQuery zTree树插件的使用教程
2019/08/16 jQuery
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Python内置函数locals和globals对比
2020/04/28 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
电子信息专业自荐书
2014/02/04 职场文书
秋季运动会广播稿大全
2014/02/17 职场文书
销售口号大全
2014/06/11 职场文书
个人借款协议书范本
2014/11/17 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
班主任先进事迹材料
2014/12/17 职场文书
建筑安全员岗位职责
2015/02/15 职场文书