博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据类型转换!!!!!
阅读量:4469 次
发布时间:2019-06-08

本文共 3374 字,大约阅读时间需要 11 分钟。

1、说到数据类型转换,首先要介绍一下有哪些数据类型?

(1)基本数据类型:指简单的数据类型。有五种,分别是:

  • 数字 → Number                特殊:NaN 表示Not a Number,不是一个数字。但却是Number类型。

  • 字符串 → String

  • 布尔 → Boolean

  • 未定义 → Undefined

  • 空 → Null

(2)引用数据类型(复杂数据类型) 有多种,比如: 

  • 数组 → Array

  • 日期 → Date

  • 对象 → Object

  • ...

2、数据类型转换

(1)强制转换:就是手动的通过转换工具将一个数据转换成另一种类型的数据。

 ① 其他数据类型转换数字 Number

  • Number(其他数据);

 

//数值字符串转数字var result1 = Number('123');console.log(result1);//123console.log(typeof(result1)); //number//非数值字符串转数字var result2 = Number('abc');console.log(result2); //NaN,'abc'整体不是数值,转换不了正常的数字。console.log(typeof(result2)); //number//非数值字符串转数字var result3 = Number('12abc');console.log(result2); //NaN,'12abc'不是数值,转换不了正常的数字console.log(typeof(result2)); //number//布尔值转数字var result4 = Number(true);  var result5 = Number(false); console.log(result4)  //1console.log(result5)  //0//undefined 转数字var result6 = Number(undefined);console.log(result6); //NaN//null 转数字var result7 = Number(null);console.log(result7); //0

 

  •  parseInt(其他数据);
//与Number工具不同是,parseInt能将正常的字符串数值转换为整数//数值字符串转数字var result1 = parseInt('123.34');console.log(result1);//123console.log(typeof(result1)); //number//非数值字符串转数字var result2 = parseInt('abc');console.log(result2); //NaN,'abc'整体不是数值,转换不了正常的数字。console.log(typeof(result2)); //number//非数值字符串转数字var result3 = parseInt('12abc');console.log(result2); //12,会把最前面的数字提取出来console.log(typeof(result2)); //number//布尔值转数字var result4 = parseInt(true);  var result5 = parseInt(false); console.log(result4)  //NaNconsole.log(result5)  //NaN//undefined 转数字var result6 = parseInt(undefined);console.log(result6); //NaN//null 转数字var result7 = parseInt(null);console.log(result7); //NaN
  • parseFloat(其他数据); 
  • 与parseInt不同的是,可以将正常的小数字符串数值转换成数字类型的小数,其他情况都和parseInt相同。
var result1 = parseFloat('3.14');console.log(result1); //3.14console.log(typeof(result1)); //number

注意事项:①Number 可以将true和false 转换成1、0   但是parseInt 和parseFloat 将true和false 转换成 NaN

     ②Number 可以将null转换成0 ,parseInt 和parseFloat 将null转换成 NaN

②其他类型数据转字符串 String

所有的数据在转换成字符串时,其实就是在其他数据两边加上双引号或单引号

  • 变量名.toString();
//数字转字符串var num = 123;var result1 = num.toString();console.log(result1); //"123";//布尔值转字符串var flag = true;var flag2 = false;console.log(flag.toString()); //"true"console.log(flag2.toString());//"false"//在使用变量.toString()方法时,变量的值不能为undefined和null,否则会报错var a = null;a.toString(); //报错
注意:在使用变量.toString()方法时,变量的值不能为undefined和null,否则会报错
  • String(其他数据)
var result1 = String(123); //'123';var result2 = String(true); //'true';var result3 = String(NaN); //'NaN';

③其他数据类型转布尔 Boolean

注意:null、undefined、0、NaN、'' 转换为boolean结果为false,其他的数据转换的结果为true

Boolean(null); //falseBoolean(''); //false//其他略Boolean('我'); //trueBoolean(123); //true

(2)隐式转换 【重要】

  什么叫做隐式转换?

  • 隐式转换,也被称为自动转换。就是在程序运行过程中,不需要我们手动转换,数据会根据运算情况自动的转换为其他类型的数据

①其他数据转数字 Number

在做算术运算时(除了和字符串做相加运算外),其他非数字类型的数据会自动的转换为Number类型的数据。 就相当于悄悄的,看不见的用Number(其他数据)转换为数字。 任何数据和NaN做运算(除了和字符串做相加运算外),结果始终都是NaN。
var result1 = '2' - 1; //字符串 '2' 自动转换为数字 2console.log(result1); // 1;var result2 = '3a' - 1;  //字符串 '3a' 自动转换为数字 NaNconsole.log(result2); // NaN

②其他数据转字符串 String

任何数据和字符串做相加运算时,其他非字符串数据会自动的转换为String类型的数据。 就相当于悄悄的,看不见的用String(其他数据)转换为字符串。
var result1 = true + '我'; // 布尔值 true 自动转换为字符串 'true'console.log(result1); // 'true我'

③其他数据转布尔 Boolean

在取反、选择语句 和 循环语句中的条件表达式中,其他数据会自动的转换为布尔值。 就相当于悄悄的,看不见的用Boolean(其他数据)转换为布尔值。
console.log(!1);  //false ; 数字1 转换为boolean值为 true,对true取反就是falseconsoel.log(!(1>=2)); //true

 

转载于:https://www.cnblogs.com/shengmo/p/8675979.html

你可能感兴趣的文章
npm和Node.js简介
查看>>
Spring AOP无法拦截Controller的原因
查看>>
Windows双系统
查看>>
Microsoft Project项目管理工具
查看>>
软件设计师-算法
查看>>
小米手机安装Google框架
查看>>
honpeyhonepy
查看>>
netaddr网络地址工具python
查看>>
OSI7层模型和网络排错、网络安全
查看>>
hash文件-对文件进行数字签名
查看>>
TCP_Wrappers基础知识介绍
查看>>
Central Post Office (Shiraz University Local Contest 2011 ) 树状dp
查看>>
51Nod - 1031 骨牌覆盖
查看>>
回顾环信使用
查看>>
JavaScript--函数对象的属性caller与callee
查看>>
特殊字符大全
查看>>
SQL - SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)[转]...
查看>>
《learning hard C#学习笔记》读书笔记(20)异步编程
查看>>
动态创建Struct实例
查看>>
Jsp通过JDBC连接到SQL Server2008数据库遇到的几个问题
查看>>