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 ...
随机推荐
- Linux 查看内存命令
Linux 查看内存命令 top命令, Linux的top命令提供Linux资源使用情况的实时更新信息.不仅可以查看Linux内存,也可以查看CPU以及各个进程之间的对资源的占用情况.使用方式如下: ...
- 一文说清OpenCL框架
背景 Read the fucking official documents! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: 对不 ...
- mapGetters 的作用__为什么mapGetter前面有...(三个点是去掉{}的作用)
参考:vuex 中关于 mapGetters 的作用 mapGetters 工具函数会将 store 中的 getter 映射到局部计算属性中.它的功能和 mapState 非常类似,我们来直接看它的 ...
- Session与Cookie的原理以及使用小案例>从零开始学JAVA系列
目录 Session与Cookie的原理以及使用小案例 Cookie和Session所解决的问题 Session与Cookie的原理 Cookie的原理 Cookie的失效时机 小提示 Session ...
- scrapy 错误:Missing scheme in request url: %s' % self._url
先说报错原因:使用了和start_urls同名的参数 我通过scral crawl projename -a start_urls=http:example.com来传start_urls,然后想在项 ...
- 攻防世界pwn高手区——pwn1
攻防世界 -- pwn1 攻防世界的一道pwn题,也有一段时间没有做pwn了,找了一道栈题热身,发现还是有些生疏了. 题目流程 拖入IDA中,题目流程如图所示,当v0为1时,存在栈溢出漏洞.在gdb中 ...
- Spring Boot 入门系列(二十二)使用Swagger2构建 RESTful API文档
前面介绍了如何Spring Boot 快速打造Restful API 接口,也介绍了如何优雅的实现 Api 版本控制,不清楚的可以看我之前的文章:https://www.cnblogs.com/zha ...
- 【LeetCode】39. 组合总和
39. 组合总和 知识点:递归:回溯:组合:剪枝 题目描述 给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 ...
- dubbo学习实践(3)之Dubbo整合Consul及Dubbo配置方式
前言:上一篇中,已经写到了使用zookeeper为注册中心的配置,下面写下配置Consul为注册中心 1. Consul注册中心验证 修改provider和consumer的服务配置文件 Provid ...
- DVWA(三):SQL injection 全等级SQL注入
(本文不定期更新) 一.所需环境: 1.DVWA 2.web环境 phpstudy/wamp 3.burp suite 二.SQL注入产生的原因: 程序员在编写代码的时候,没有对用户输入数据的合法性进 ...