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 相关文章推荐
限制文本框输入N个字符的js代码
May 13 Javascript
javascript 45种缓动效果 非常酷
Jun 28 Javascript
js面向对象 多种创建对象方法小结
May 21 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
Sep 01 Javascript
Jquery焦点图实例代码
Nov 25 Javascript
js实现点击图片改变页面背景图的方法
Feb 28 Javascript
JavaScript使用cookie记录临时访客信息的方法
Apr 07 Javascript
判断数组是否包含某个元素的js函数实现方法
May 19 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
Jul 28 Javascript
js微信分享接口调用详解
Jul 23 Javascript
JavaScript判断浏览器版本的方法
Nov 03 Javascript
vuex页面刷新导致数据丢失的解决方案
Dec 10 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
单位速度在实战中的运用
2020/03/04 星际争霸
图象函数中的中文显示
2006/10/09 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
js文字滚动停顿效果代码
2008/06/28 Javascript
Js控制滑轮左右滑动实例
2015/02/13 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
正规的求职信范文分享
2013/12/11 职场文书
建筑工程管理专业自荐信范文
2013/12/28 职场文书
给分销商的致歉信
2014/01/14 职场文书
校庆活动方案
2014/03/31 职场文书
党建工作先进材料
2014/05/02 职场文书
学生安全责任书范本
2014/07/24 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
污水处理保证书
2015/05/09 职场文书
新学期主题班会
2015/08/17 职场文书
500字作文之周记
2019/12/13 职场文书
Python3 类型标注支持操作
2021/06/02 Python
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android