js 数据类型转换总结笔记


Posted in Javascript onJanuary 17, 2011

javascript有如下数据类型的转换方法:
一,转换成数字 xxx*1.0
转换成字符串 xxx+""
二,从一个值中提取另一种类型的值,并完成转换工作。
.提取字符串中的整数:parseInt();
例:parseInt("123zhang")的结果为123
.提取字符串中的浮点数:parseFloat();
例:parseFloat("0.55zhang")的结果为0.55
.执行用字符串表示的一段javascript代码:eval();
例:zhang=eval("1+1")的结果zhang=2
. 转换成字符串: toString() ;
例:zhang=eval("1+1")的结果zhang=2
三,是将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换),
基本数据类型转换的三种方法:
.转换为字符型:String() ; 例:String(678)的结果为"678"
.转换为数值型:Number() ; 例:Number("678")的结果为678
.转换为布尔型:Boolean() ; 例:Boolean("aaa")的结果为true

使用这些方法时,如有必要,尽量对参数和 方法的执行进行判断和异常处理操作。
有在参考文档中看到,如下关于执行效率的总结:
在IE 下,第一种速度最快,第二种次之,第三种最差,但差距不过10万次,差几十百来毫秒而已。
在FF下,第一种和第二种基本上相当,第三种最慢。
速度差别基本上可以忽略。因为差距很小。
但是,从代码的简洁性, 第一种明显写法简便,而且也易读,
而且不会出现第二种的 因为 某个对象没有 toString 方法而报错的问题。况且他始终也是最快的。
所以,个人习惯使用第一种方式来完成数据类型的转换
但是,比如需要“123456abcd”来提取其中的数字,那自然当用parsetInt,和parseFloat之类的函数。
但是要注意,有时候 转换的结果是 NaN 等,需要判断一下。

例异常处理如 :

//执行文本框内的语句,用eval 返回语句执行后的值 
function doFunction(str) { var result = str.replace(new RegExp("\"", "gm"), ""); 
//判断语句是否合法 
var reg = /\s*[A-Za-z]+\s*\('.+'\)\s*$/; 
if (result.match(reg)) // 或者用 reg.test(result); 方法判断 
try { 
result = eval(result); 
return result; 
} 
catch (Error) { 
alert("抱歉!语句无法执行转化。注意语法和拼写。"); 
return; 
} 
else alert("请检查数据类型转换语句的格式及语法!"); 
}

有关数据转换方法的其他测试示例如下:
例  句 结  果
parseInt('1234') 1234
parseInt('1234.00') 1234
parseInt('1234abc') 1234
parseInt('abc1234') undefined(转换失败)
parseFloat('1234.123') 1234.123
parseFloat('1234.123a') 1234.123
parseFloat('a1234.123') NaN
Number('1234.123') 1234.123
Number('1234.123aa') NaN
String(eval('12+10')) 22
Boolean('0'),Boolean('567'),Boolean(567) true
Boolean(null),Boolean(false),Boolean(0),Boolean(''),Boolean() false
this.toString() [object]
(typeof(this)).toString() object
eval('12+34') 46
eval('12+34')+'' 46
eval('12+34')*1.0 46
typeof(eval('12+34')*1.0) number
typeof(eval('12+34')+'') string

注:测试时的环境是 vs2008,ie8...,是在页面上输入的语句,js里用eval处理上表中左栏的转换例句。

使用时或许需要修改符号等。

Javascript 相关文章推荐
Javascript 二维数组
Nov 26 Javascript
jquery 插件学习(二)
Aug 06 Javascript
动态加载dtree.js树treeview(示例代码)
Dec 17 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
Jun 24 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
JavaScript中eval函数的问题
Jan 31 Javascript
微信小程序 上传头像的实例详解
Oct 27 Javascript
ndm:NPM的桌面GUI应用程序
Oct 15 Javascript
原生js实现针对Dom节点的CRUD操作示例
Aug 26 Javascript
解决vue-router 二级导航默认选中某一选项的问题
Nov 01 Javascript
vue实现鼠标移过出现下拉二级菜单功能
Dec 12 Javascript
简短几句 通俗解释javascript的闭包
Jan 17 #Javascript
javascript 内存回收机制理解
Jan 17 #Javascript
javascript 延迟加载技术(lazyload)简单实现
Jan 17 #Javascript
关于COOKIE个数与大小的问题
Jan 17 #Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
Jan 17 #Javascript
Jquery 插件开发笔记整理
Jan 17 #Javascript
JQuery学习笔记 nt-child的使用
Jan 17 #Javascript
You might like
第十三节 对象串行化 [13]
2006/10/09 PHP
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
CI框架常用函数封装实例
2016/11/21 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
2012/02/07 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
2017/06/08 Javascript
关于jquery form表单序列化的注意事项详解
2017/08/01 jQuery
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
python找出因数与质因数的方法
2019/07/25 Python
python实现图片压缩代码实例
2019/08/12 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
基于python实现文件加密功能
2020/01/06 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
医学专业个人求职自荐信格式
2013/09/23 职场文书
学生档案自我鉴定
2013/10/07 职场文书
周年庆典邀请函范文
2014/01/24 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
中学生运动会口号
2014/06/07 职场文书
初婚初育证明范本
2014/11/24 职场文书
开天辟地观后感
2015/06/09 职场文书
飞越疯人院观后感
2015/06/09 职场文书