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 相关文章推荐
犀利的js 函数集合
Jun 11 Javascript
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
Extjs4 GridPanel 的几种样式使用介绍
Apr 18 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
Jan 28 Javascript
javascript表单验证大全
Aug 12 Javascript
跟我学习javascript的Date对象
Nov 19 Javascript
详解本地Node.js服务器作为api服务器的解决办法
Feb 28 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
jQuery中内容过滤器简单用法示例
Mar 31 jQuery
Vue源码解析之数组变异的实现
Dec 04 Javascript
JavaScript Math对象和调试程序的方法分析
May 13 Javascript
Vue 图片压缩并上传至服务器功能
Jan 15 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中jpgraph类库的使用介绍
2013/08/08 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
js选择器全面解析
2016/06/27 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
vue实现点击按钮下载文件功能
2019/10/11 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
使用python统计文件行数示例分享
2014/02/21 Python
线程和进程的区别及Python代码实例
2015/02/04 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
Python之修改图片像素值的方法
2019/07/03 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
草莓网官网:StrawberryNET
2019/08/21 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
中专毕业生自我鉴定
2014/02/02 职场文书
贷款委托书范本
2014/04/08 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
撤诉书怎么写
2015/05/19 职场文书
小鞋子观后感
2015/06/05 职场文书
高中班主任培训心得体会
2016/01/07 职场文书