js基本数据类型之间的转换
常见五大基本数据类型
1.number
2.string
3.boolean
4.undefined
5.null
一.转换为string
①调用toString() 方法
因为null和undefined没有toString()方法,所以,不能通过这样的方式进行转换。
//number类型转换成String
var a = 123;
var b = a.toString();
console.log(typeof b + " " + b); //string 123
//Boolean类型转换成String
a = true;
b = a.toString();
console.log(typeof b + " " + b); //string true
②通过String()函数
//undefined类型转换成String
var a;
var b = String(a);
console.log(typeof b + " " + b); //string undefined
//null类型转换成String
a = null;
b = String(a);
console.log(typeof b + " " + b); //string null
//number类型转换成String
a = 123;
b = String(a);
console.log(typeof b + " " + b); //string 123
//Boolean类型转换成String
a = true;
b = a.toString();
console.log(typeof b + " " + b); //string true
③加一个空字符串( + “ ” )
//undefined类型转换成String
var a;
var b = a + "";
console.log(typeof b + " " + b); //string undefined
//null类型转换成String
a = null;
b = a + "";
console.log(typeof b + " " + b); //string null
//number类型转换成String
a = 123;
b = a + "";
console.log(typeof b + " " + b); //string 123
//Boolean类型转换成String
a = true;
b = a + "";
console.log(typeof b + " " + b); //string true
二.转换成number类型
①使用Number()函数
//字符串转数字
//纯数字字符串,直接转
var a = "123";
var b = Number(a);
console.log(typeof b + " " + b); //number 123
//含有非数字字符,转换为NaN
a = "123x";
b = Number(a);
console.log(typeof b + " " + b); //number NaN
//布尔值转数字 true转为1,false转为0
var a = true;
var b = Number(a);
console.log(typeof b + " " + b); //number 1
a = false;
b = Number(a);
console.log(typeof b + " " + b); //number 0
//null转为0
var a = null;
var b = Number(a);
console.log(typeof b + " " + b); //number 0
//undefined转换为NaN
var a;
var b = Number(a);
console.log(typeof b + " " + b); //number NaN
②使用parseInt() 或 parseFloat() 函数
和Number()的不同
对于非字符串类型,先转换为字符串
从左向右遍历字符串,直到碰到非数字字符进行“截断”;如果第一个字符就是非数字字符,转换为NaN
parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的 测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。
parseInt("1234blue");//return 1234
parseInt("22.5");// return 22 对于整数来说,小数点是无效字符
parseInt("blue");//return NaN
//parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的。
//例如:
parseInt("AF",16); //return 175 十六进制
parseInt("10",2);//return 2 二进制
parseInt("10",8);//return 8 八进制
parseInt("10",10);//return 10 十进制
//如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。
//例如:
parseInt("010");//return 8
parseInt("010",8);//return 8
parseInt("010",10);//return 10
parseFloat(),从位置0开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字 符之前的字符串转换成数字。
不过,对于这个方法来说,第一个出现的小数点是有效字符。如果有两个小数点,第二个小数点将被看作无效的。
使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,而不能用八进制形式或十六进制形式。
parseFloat("1234blue");//return 1234
parseFloat("22.34.5");//return 22.34
parseFloat("0908");//return 908
parseFloat("blue");//return NaN
③通过一元运算符 + (正号)
//undefined转number
var a;
var b = +a;
console.log(typeof b + " " + b); //number NaN
//null转number
a = null;
b = +a;
console.log(typeof b + " " + b); //number 0
//boolean转number
a = true;
b = +a;
console.log(typeof b + " " + b); //number 1
//string转number
a = "123";
b = +a;
console.log(typeof b + " " + b); //number 123
//string转number
a = "123A";
b = +a;
console.log(typeof b + " " + b); //number NaN
三.转换为Boolean
①通过Boolean()函数
共五种情况为false的情况,其他均为true
Boolean(0) //转换为false
Boolean(NaN) //转换为false
Boolean("")(空串) //转换为false
Boolan(null) //转换为false
Boolean(undefined) //转换为false
②两次取反!!
与使用Boolean()结果一致
js基本数据类型之间的转换的更多相关文章
- 系统学习(javascript)_基础(数据类型之间的转换)
在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用javascript弱变量类型转换). 强制转换: 利用js提供的函数parseInt(),parseFloat(),Number( ...
- java中的、标识符、运算符以及数据类型之间的转换。
---恢复内容开始--- 数据类型之间的转换: 1:自动转换:就是不用说出要转换成什么类型,由java中的虚拟机自动将小数据类型转换成大数据类型,但大数据中的数据精度有可能被破坏. 2:强制转换:强制 ...
- Java基础——数据类型之间的转换
Java数据类型分为三大类,即布尔型.字符型和数值型.其中数值型又分为整型和浮点型.Java的基本数据类型(8种)为布尔型boolean(1字节):字符型char(2字节):整型byte(1字节).s ...
- Java中的基本数据类型和基本数据类型之间的转换
在Java中有8中基本数据类型,分别为: 整型: byte.short.int.long 浮点型:float.double 布尔型:boolean 字符型:char. byte: 8位, 封装 ...
- JavaSE:数据类型之间的转换(附常见面试题)
数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...
- 浅谈C#语言中的各种数据类型,与数据类型之间的转换
什么是数据类型? 数据类型,百度百科是这样解释的:数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作.这样的解释对于一个初学者来说未必太过于深奥. 简单点说,数据类型就是不同长度的 ...
- 10-10C#基础---数据类型之间的转换
10-10 C#基础数据类型转换(熟练掌握) 第一课 数据类型之间的转换 基本类型的转换:自动转换(隐式转换)和强制转换(显示转换) 装箱转换:允许值类型隐式转换成引用类型. 拆箱转换:允许将引用类 ...
- 记录我的 python 学习历程-Day07 基础数据类型进阶 / 数据类型之间的转换 / 基础数据类型总结 / 编码的进阶
基础数据类型 str(字符串) str:补充方法练习一遍就行 s.capitalize() 首字母大写,其余变小写 s = 'dyLAn' print(s.capitalize()) # Dylan ...
- golang 数据类型之间的转换
一.基本数据类型之间的转换 1.string到int int,err:=strconv.Atoi(string) 2.string到int64 int64, err := strconv.ParseI ...
随机推荐
- 字符串匹配算法(二)-BM算法详解
我们在字符串匹配算法(一)学习了BF算法和RK算法,那有没更加高效的字符串匹配算法呢.我们今天就来聊一聊BM算法. BM算法 我们把模式串和主串的匹配过程,可以看做是固定主串,然后模式串不断在往后滑动 ...
- jvm源码解读--14 defNewGeneration.cpp gc标记复制之后,进行空间清理
进入Eden()->clean()函数 void EdenSpace::clear(bool mangle_space) { ContiguousSpace::clear(mangle_spac ...
- 【水】Dev-c++黑暗模式教程
前言 大家有没有觉得盯着Dev-c++那个白花花的背景盯久了之后会觉得眼睛不舒服-- 本人今天就来给大家带来一个黑暗模式的Dev-c++,可以让眼睛没那么难受(本人亲测有效) 效果如下图(猛男警告): ...
- linux之frp服务部署(内网穿透)
frp服务部署(内网穿透) 目的 更快的进行内网穿透调试以及云端开发测试 服务器为CentOS 7,客户端为win11 frp介绍 frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 ...
- centos安装ansible
此次测试总共有三台机,分别如下: ansible服务器:10.0.0.20 client01:10.0.0.21 client02:10.0.0.22 一.安装ansible 方法一. yum ins ...
- fastbin attack学习小结
fastbin attack学习小结 之前留在本地的一篇笔记,复习一下. 下面以glibc2.23为例,说明fastbin管理动态内存的细节.先看一下释放内存的管理: if ((unsigned ...
- Python实现多种SSH连接与文件传输
Python实现SSH控制 使用Python进行基于口令认证的连接: 1 #加载paramiko包 2 import paramiko 3 #创建新的SSH对象 4 Client=paramiko.S ...
- vue 源码详解(二): 组件生命周期初始化、事件系统初始化
vue 源码详解(二): 组件生命周期初始化.事件系统初始化 上一篇文章 生成 Vue 实例前的准备工作 讲解了实例化前的准备工作, 接下来我们继续看, 我们调用 new Vue() 的时候, 其内部 ...
- PaddlePaddle之猫狗大战(本地数据集)
新手入门PaddlePaddle的一个简单Demo--猫狗大战 主要目的在于整体了解PP用卷积做图像分类的流程,以及最最重要的掌握自定义数据集的读取方式 猫狗数据集是从网络上下载到工作目录的. 本项目 ...
- spring中的组合模式
org.springframework.cache.support.CompositeCacheManager /* * Copyright 2002-2016 the original author ...