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

 更新时间:2016年07月01日 09:34:01   投稿:jingxian  
下面小编就为大家带来一篇全面了解JavaScript的数据类型转换。小编觉得挺不错的,现在就分享给大家看,也给大家做个参考。一起跟随小编过来看看吧

 首先,由于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的数据类型转换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用RequireJS优化JavaScript引用代码的方法

    使用RequireJS优化JavaScript引用代码的方法

    这篇文章主要介绍了使用RequireJS优化JavaScript引用代码的方法,RequireJS是一款人气JS库,需要的朋友可以参考下
    2015-07-07
  • JavaScript的函数式编程基础指南

    JavaScript的函数式编程基础指南

    这篇文章主要介绍了JavaScript的函数式编程基础指南,虽然JavaScript被许多人一再强调面向对象,但js中却没有类,而本文所展现的函数主导的js编程则同样可以很爽,需要的朋友可以参考下
    2016-03-03
  • 关于JS中的闭包浅谈

    关于JS中的闭包浅谈

    闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分
    2013-08-08
  • 深入学习JavaScript中的原型prototype

    深入学习JavaScript中的原型prototype

    这篇文章主要介绍了深入学习JavaScript中的原型prototype,是JavaScript入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • 查询json的数据结构的8种方式简介

    查询json的数据结构的8种方式简介

    你有没有对“在复杂的JSON数据结构中查找匹配内容”而烦恼,这篇文章介绍了查询json的数据结构的8种方式,总有一个适合你项目使用的方法
    2014-03-03
  • JSON基础介绍与详细用法

    JSON基础介绍与详细用法

    本文详细讲解了JSON基础与详细用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • ajax的hide隐藏问题解决方法

    ajax的hide隐藏问题解决方法

    我的页面上有两个table,调用ajax之后隐藏掉一个,然后用html拼出另一个table,结果新的table最上面有个undefined,这个是怎么引起的
    2012-12-12
  • 浅谈JavaScript function函数种类

    浅谈JavaScript function函数种类

    这篇文章主要介绍了JavaScript function函数种类,包括普通函数、匿名函数、闭包函数、十分的全面,并附上了示例,这里推荐给大家,希望对大家能有所帮助。
    2014-12-12
  • 全面了解JavaScirpt 的垃圾(garbage collection)回收机制

    全面了解JavaScirpt 的垃圾(garbage collection)回收机制

    下面小编就为大家带来一篇全面了解JavaScirpt 的垃圾(garbage collection)回收机制。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 国外的为初学者写的JavaScript教程

    国外的为初学者写的JavaScript教程

    codeproject出的JavaScript初级教程,讲的也比较详细,虽然是英文的,但语意简单,想学习这个应该不是大障碍
    2008-06-06

最新评论