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 相关文章推荐
js Object2String方便查看js对象内容
Nov 24 Javascript
Juery解决tablesorter中文排序和字符范围的方法
May 06 Javascript
Javascrip实现文字跳动特效
Nov 27 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
Mar 13 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
May 21 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
Aug 07 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
Oct 10 Javascript
vue中tab选项卡的实现思路
Nov 25 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
Sep 03 Javascript
JS实现手写 forEach算法示例
Apr 29 Javascript
一文了解JavaScript用Element Traversal新属性遍历子元素
Nov 27 Javascript
Vue h函数的使用详解
Feb 18 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 新手入门教程
2009/08/03 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
javascript调试说明
2010/06/07 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
浅析return false的正确使用
2013/11/04 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
Python实现ping指定IP的示例
2018/06/04 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
法国春天百货官网:Printemps.com
2020/06/29 全球购物
商务助理岗位职责
2013/11/13 职场文书
小学校园活动策划
2014/01/30 职场文书
2016年安全月活动总结
2016/04/06 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
html5调用摄像头截图功能
2022/01/18 Javascript