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 相关文章推荐
jQuery1.6 正式版发布并提供下载
May 05 Javascript
js使用eval解析json实例与注意事项分享
Jan 18 Javascript
javascript正则表达式之search()用法实例
Jan 19 Javascript
如何通过js实现图片预览功能【附实例代码】
Mar 30 Javascript
jquery弹出遮掩层效果【附实例代码】
Apr 28 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
May 10 Javascript
值得分享的JavaScript实现图片轮播组件
Nov 21 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
Dec 04 Javascript
Bootstrap3 模态框使用实例
Feb 22 Javascript
JS一个简单的注册页面实例
Sep 05 Javascript
使用express获取微信小程序二维码小记
May 21 Javascript
vue使用screenfull插件实现全屏功能
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 APC配置文件2套和参数详解
2014/06/11 PHP
Laravel日志用法详解
2016/10/09 PHP
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
原生js实现滑块区间组件
2021/01/20 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
Python 正则表达式(转义问题)
2014/12/15 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
python中常用的数据结构介绍
2021/01/12 Python
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
数控专业毕业生求职信范文
2013/09/21 职场文书
厕所文明标语
2014/06/11 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
python如何读取和存储dict()与.json格式文件
2022/06/25 Python