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技术技巧大全(五)
Jan 22 Javascript
从阿里妈妈发现的几个不错的表单验证函数
Sep 21 Javascript
prototype Element学习笔记(篇二)
Oct 26 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
Nov 04 Javascript
jQuery遍历Table应用示例
Apr 09 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
Oct 28 Javascript
基于DOM节点删除之empty和remove的区别(详解)
Sep 11 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
Feb 01 Javascript
详解小程序开发经验:多页面数据同步
May 18 Javascript
详解Element-UI中上传的文件前端处理
Aug 07 Javascript
vue路由传参三种基本方式详解
Dec 09 Javascript
vue3如何优雅的实现移动端登录注册模块
Mar 29 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将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
JS实现页面内跳转的简单代码
2017/09/03 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
Python生成随机数组的方法小结
2017/04/15 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
python 编写简单网页服务器的实例
2018/06/01 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
Python Process多进程实现过程
2019/10/22 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Python 使用office365邮箱的示例
2020/10/29 Python
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
小学生竞选班长演讲稿
2014/04/24 职场文书
取保候审保证书
2014/04/30 职场文书
争先创优演讲稿
2014/09/15 职场文书
护士业务学习心得体会
2016/01/25 职场文书