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让setInteval里的函数参数中的this指向特定的对象
Jan 31 Javascript
JavaScript 学习笔记二 字符串拼接
Mar 28 Javascript
javascript的offset、client、scroll使用方法详解
Dec 25 Javascript
使用js的replace()方法查找字符示例代码
Oct 28 Javascript
js中的caller和callee属性介绍和例子
Jun 07 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
May 05 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
利用Vue v-model实现一个自定义的表单组件
Apr 27 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
vue.js做一个简单的编辑菜谱功能
May 08 Javascript
vue的过滤器filter实例详解
Sep 17 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
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
浅谈struts1 & jquery form 文件异步上传
2017/05/25 jQuery
zTree节点文字过多的处理方法
2017/11/24 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
详解Python发送email的三种方式
2018/10/18 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python的等深分箱实例
2019/11/22 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
python操作yaml说明
2020/04/08 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
python opencv实现简易画图板
2020/08/27 Python
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
毕业生就业推荐信范文
2013/12/01 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
运动会宣传口号
2014/06/09 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
财务整改报告范文
2014/11/05 职场文书