美文网首页
JS(2)----数据类型转换

JS(2)----数据类型转换

作者: Coding破耳 | 来源:发表于2018-12-25 00:56 被阅读0次

js里有7种数据类型,分别是string,boolean,number,null,undefined,object,symbol
抛开symbol不谈,谈一谈其余6种数据类型的转换

1.转为string

调用toString()方法,可以实现number转string,boolean转string;

var num = 1
num.toString()//"1"
1.toString()//VM1509:1 Uncaught SyntaxError: Invalid or unexpected token
(1).toString()//"1"
true.toString()//"true"

不能转null和undefined;

null.toString()//VM1557:1 Uncaught TypeError: Cannot read property 'toString' of null
    at <anonymous>:1:6
(anonymous) @ VM1557:1
undefined.toString()//VM1576:1 Uncaught TypeError: Cannot read property 'toString' of undefined
    at <anonymous>:1:11
(anonymous) @ VM1576:1

转化object时,转化为[object Object]

var obj = {}
obj.toString()//"[object Object]"

还有一种简单方法,用+""来完成字符串转化如下,window.String()方法和加空串效果一致:

1+""//"1"
true+""//"true"
null+""//"null"
undefined+""//"undefined"
var a = {}
a+""//"[object Object]"
window.String(1)//"1"

2.转为boolean

在进行if判断时,会自动对if里对参数进行boolean类型转化,具体查看if判断,在此跳过
第二种方法,调用Boolean()方法如下;只有五个值用这种方法转化是false,其余都是true,它们成为5个falsy值,分别是0,NaN,"",null,undefined.
object则都是true,就算是空对象也是true

Boolean(1)//true
Boolean("233")//true

第三种方法,对值进行!操作,逻辑值取反;!!来进行转化,逻辑同if操作里的转化

3.转化成number

调用Number()转化成number,其中undefined和object会转化为NaN,null会转化为0;string转化为number时有非数字和+,-,.的字符,得到NaN:

var a = Number("233")//233
a = Number(true)//1
a = Number({name:"tom"})//NaN
a = Number(null)//0
a = Number(undefined)//NaN
a = Number("123asd")//NaN

调用window的全局函数parseInt()来转换成number只能得到整数。传入参数为string,从左边第一个字符读起,遇到非数字0123456789的字符转换结束。默认10进制,第二个参数为进制参数,可以输入任意数字。

parseInt("011")//11
parseInt("01.1")//1
parseInt("01ABC")//1
parseInt("122",3)//17

传入参数为boolean,null,undefined,object时,不论输入什么,都返回NaN

parseInt(true)//NaN
parseInt(false)//NaN
parseInt({name:"jack"})//NaN
parseInt(null)//NaN
parseInt(undefined)//NaN

调用window的全局函数parseFloat()来转换成number能得到整数和小数。与parseInt()不同,parseFloat()没有第二个进制参数,默认为十进制且不可改变。除了数字0123456789外,还可以解析.字符。

parseFloat("1")//1
parseFloat("1.0")//1
parseFloat("1.1a")//1.1

还有一种简单的方法,就是运用运算符+,-,这种方法的效果和Number()一致。

true-0//1
"1a"-0//NaN
false-0//0
+"1a"//NaN
+"11"//11

相关文章

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • JavaScript-数据类型及类型转换

    一、数据类型 二、类型转换 2-1、parseInt()类型转换 index.html index.js inde...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • JS的基本小结

    JS基本输出方式 JS数据类型 变量 常量 变量常量小练习 声明提前 隐式转换 显示转换/强制转换

  • JavaScript学习笔记.md

    学习材料————廖雪峰js教程 数据类型 ===与== == 自动转换数据类型再比较;=== 不转换类型 (更好...

  • JavaScript基础总结

    ✍目录总览:(JS概念与组成、JS格式规范、JS基本语法【输入、输出、变量、数据类型、数据类型转换、运算符、流程控...

网友评论

      本文标题:JS(2)----数据类型转换

      本文链接:https://www.haomeiwen.com/subject/hifxlqtx.html