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 相关文章推荐
使用TextRange获取输入框中光标的位
Oct 14 Javascript
javascript 防止刷新,后退,关闭
Aug 07 Javascript
js获取height和width的方法说明
Jan 06 Javascript
AngularJS中$http的交互问题
Mar 29 Javascript
微信小程序商城项目之侧栏分类效果(1)
Apr 17 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
Dec 05 Javascript
使用Angular material主题定义自己的组件库的配色体系
Sep 04 Javascript
JS实现电脑虚拟键盘的操作
Jun 24 Javascript
vue监听dom大小改变案例
Jul 29 Javascript
js实现表格单列按字母排序
Aug 12 Javascript
详解Vite的新体验
Feb 22 Javascript
最新最全的手机号验证正则表达式
Feb 24 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
PHP4实际应用经验篇(9)
2006/10/09 PHP
php smarty函数扩展
2010/03/15 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
js AspxButton的客户端操作
2009/06/26 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
JAVA面试题 static关键字详解
2019/07/16 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
Python编写一个闹钟功能
2017/07/11 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
Python异常处理例题整理
2019/07/07 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
英国女性时尚品牌:Apricot
2018/12/04 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
函数指针的定义是什么
2016/08/14 面试题
舞蹈兴趣小组活动总结
2014/07/07 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书