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 相关文章推荐
收集的一些Array及String原型对象的扩展实现代码
Dec 05 Javascript
jquery 获取表单元素里面的值示例代码
Jul 28 Javascript
js将当前时间格式转换成时间搓(自写)
Sep 26 Javascript
Javascript操作URL函数修改版
Nov 07 Javascript
JS的document.all函数使用示例
Dec 30 Javascript
JS实现图片产生波纹一样flash效果的方法
Feb 27 Javascript
js实现点击切换TAB标签实例
Aug 21 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
Jun 19 Javascript
实例分析vue循环列表动态数据的处理方法
Sep 28 Javascript
ES6基础之默认参数值
Feb 21 Javascript
JS匿名函数内部this指向问题详析
May 10 Javascript
微信小程序自定义弹出层效果
May 26 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
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
python的几种开发工具介绍
2007/03/07 Python
python的迭代器与生成器实例详解
2014/07/16 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
Python中datetime常用时间处理方法
2015/06/15 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
经销商会议欢迎词
2014/01/11 职场文书
关爱残疾人标语
2014/06/25 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android
MySQL详细讲解变量variables的用法
2022/06/21 MySQL
Docker安装MySql8并远程访问的实现
2022/07/07 Servers