全面了解JavaScript的数据类型转换


Posted in Javascript onJuly 01, 2016

 首先,由于JavaScript是弱类型语言(弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也有一定的默认转换,当绝没有弱类型那么随便,也就是说变量在声明时不需要指定数据类型,变量由赋值操作确定数据类型),所以在JavaScript的类型转换中就存在了强类型语言所没有的隐式转换。

1.1 JavaScript中的隐式转换(自动类型转换)

简单定义: 不同数据类型的数据在做运算的时候可以进行默认的数据类型的转换。
隐式转换通常遵循以下几点规则:

1.数字+字符串:数字转换为字符串。

var n1=12;//number类型
  var n2="12";//string类型
  console.log(n1+n2);//结果为string类型的"1212"

2.数字+布尔值:true转换为1,false转换为0。

var n1=12;//number类型
  var n2=true;//布尔类型
  console.log(n1+n2)//结果为13

 3.字符串+布尔值:布尔值转换为true或者false。

var n1="Hello";//string类型
  var n2=true;
  console.log(n1+n2);//结果为string类型的"Hellotrue"

4.布尔值+布尔值

var n1=true;
  var n2=true;
  console.log(n1+n2);//运行结果为2;

对于上面的案例得到的结果,不确信输出类型的小伙伴可以通过typeof()方法来查看变量的当前类型。

console.log(typeof(11));//number
  console.log(typeof("11"));//string
  console.log(typeof(true));//boolean

1.2 数据类型转换函数

JavaScript中有隐式转换,相对应的就会有显式转换,想要进行显式转换就需要用到下面的几个函数:

1. toString()

---->转换为字符串,在JavaScript中所有数据类型都可以转换为string类型

var n1="12";
  var n2=true;
  var n11=toString(n1);
  var n22=toString(n2);
  console.log(typeof(n11));//得到的结果为string
  console.log(typeof(n22));//得到的结果为string

2.parseInt()

---->解析出一个string或者number类型的整数部分,如果没有可以转换的部分,则返回NaN(not a number)

var n1="12";
  var n2="12han";
  var n3="Hello";
  var n11=parseInt(n1);
  var n22=parseInt(n2);
  var n33=parseInt(n3);
  console.log(n11);//得到的结果为12
  console.log(n22);//得到的结果为12
  console.log(n33);//得到的结果为NaN

运行上面的代码我们不难看出,变量n1 n2 n3转换后的数据类型都是number,但是其中通过函数parseInt()得到的函数n33并不是我们认识的number类型数值,而是为NAN,这就不难看出NaN虽然不是一个数字,但是属于数字类型,只是不能应用到普通数字的任何算法,是一个比较特殊的存在。(后面的博文中会有提到,再次不做赘述)

3.parseFloat()

---->解析出一个string的浮点数部分,如果没有可以转换的部分,则返回NaN(not a number)。

var n1="12.4.5";
  var n2="12.4han";
  var n3="Hello";
  var n11=parseFloat(n1);
  var n22=parseFloat(n2);
  var n33=parseFloat(n3);
  console.log(n11);//得到的结果为12.4
  console.log(n22);//得到的结果为12.4
  console.log(n33);//得到的结果为NaN

通过上面的例子我们可以得出parseFloat()该函数的返回值确实是一个数字,但从几个变量的纵向比较中我们不难看出该函数在遇到第二个小数点之后就不做转换了,此处需特别注意。

以上这篇全面了解JavaScript的数据类型转换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于js中alert弹出窗口文本换行问题简单详细说明
Dec 11 Javascript
jquery+css+ul模拟列表菜单具体实现思路
Apr 15 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
Jul 18 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
Dec 17 Javascript
jQuery回调函数的定义及用法实例
Dec 23 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
ajax接收后台数据在html页面显示
Feb 19 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
Apr 25 Javascript
基于node下的http小爬虫的示例代码
Jan 11 Javascript
简单实现vue中的依赖收集与响应的方法
Feb 18 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 Javascript
Vue如何使用混合Mixins和插件开发详解
Feb 05 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 #Javascript
浅谈JavaScript中的分支结构
Jul 01 #Javascript
Bootstrap下拉菜单效果实例代码分享
Jun 30 #Javascript
Bootstrap图片轮播组件使用实例解析
Jun 30 #Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
Jun 30 #Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
Jun 30 #Javascript
jQuery获取table行数并输出单元格内容的实现方法
Jun 30 #Javascript
You might like
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
layui使用数据表格实现购物车功能
2019/07/26 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
Python装饰器用法实例总结
2018/02/07 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
python中pivot()函数基础知识点
2021/01/03 Python
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
电子商务专业自荐信
2014/06/02 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
专家推荐信怎么写
2015/03/25 职场文书
社区义诊通知
2015/04/24 职场文书
法律意见书范文
2015/06/04 职场文书
同意报考公务员证明
2015/06/17 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书