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 相关文章推荐
让iframe自适应高度(支持XHTML,支持FF)
Jul 24 Javascript
javascript 写类方式之七
Jul 05 Javascript
IE JS无提示关闭窗口不提示的方法
Apr 29 Javascript
juqery 学习之五 文档处理 插入
Feb 11 Javascript
JS实现太极旋转思路分析
Dec 09 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
Jun 12 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
Sep 19 Javascript
Jquery的Ajax技术使用方法
Jan 21 jQuery
pageGroup.js实现分页功能
Jul 27 Javascript
JS 图片压缩原理与实现方法详解
Apr 29 Javascript
vue使用axios实现excel文件下载的功能
Jul 16 Javascript
小程序实现列表倒计时功能
Jan 29 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中文分词 自动获取关键词介绍
2012/11/13 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
laravel自定义分页效果
2017/07/23 PHP
可兼容php5与php7的cURL文件上传功能实例分析
2018/05/11 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
纯css实现窗户玻璃雨滴逼真效果
2015/08/23 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
JS验证码实现代码
2017/09/14 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
为什么是 Python -m
2020/06/19 Python
python文件排序的方法总结
2020/09/13 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
五年级英语教学反思
2014/01/31 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
结婚周年感言
2014/02/24 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
婚前财产协议书范本
2014/10/19 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
社区党员干部承诺书
2015/05/04 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS