数据类型转换

转化为字符串类型

js的数据类型是可以互相转换的 2 --> '2'

在js中只有函数后面才能加上()

toString函数 能够把js的数据类型转换成字符串

toString是js内置的函数

原始值:

1.数字类型转换为字符串类型 2 --> '2'
2. 布尔类型转换为字符串类型 true --> 'true'
3. null/undefined不能使用toString函数 变成字符串

引用值:

1 普通对象转换为字符串类型 {} --> '[object Object]'
2. 数组对象转换为字符串类型 [1,2,3] --> '1,2,3'

数组里面可以放任何数据类型

 如 var a = ['1','2',true,{},function(){}] 第一步给a赋值

	     a.toString()第二步用toString转换为字符串

	     '1,2,true,[object Object],function(){}'第三步转换为字符串的格式

3、函数对象转换为字符串类型 function(){} --> 'function(){}'

函数里面可以包裹很多句js代码的

如 var a = function(){第一步给a赋值
	console.log(1)	
   }	
     a.toString()第二步用toString转换为字符串

      'function(1){第三步转换为字符串的格式
         console.log	
   }'

转换为布尔类型

Boolean函数 能够把js的其他数据类型转换成布尔值

只有 0NaNundefinednullfalse''转成布尔值是false

其他的所有js数据转成布尔值时都是 true

!取反运算符

作用:对布尔值取反

例子

  1. ! true --> false
  2. ! false --> true

如果!后面跟的不是布尔值

  1. 先把!后面的js数据 转成布尔值
  2. 在取反

例如

  1. !0 --> !false --> true
  2. !2 --> !true --> false

结论:!会把其他数据类型先转换成布尔值,然后取反,这种情况称为隐式转换

思考 : !!的作用是什么??

!!的作用和Boolean函数的作用是一样的 都是把js的数据转换成布尔值

!!0 --> !true -->false

转换为数字类型

01-11.00.5NaN(not a number) 这些都是数字类型

Number函数 能够把其他js的数据类型转成数字类型

字符串中只要含有非数字(除了数字 负号和小数点之外的)在使用Number函数转成数字类型时都是NaN

原始值:

字符串类型使用Number函数转换成数字类型

  1. Number('') --> 0
  2. Number('空格串') --> 0
  3. Number("2") -->2

布尔类型使用Number函数转换成数字类型

  1. Number(true) --> 1
  2. Number(false) --> 0

null类型使用Number函数转换成数字类型

  1. Number(null) --> 0

undefined类型使用Number函数转换成数字类型

  1. Number(undefined) -> NaN

引用值:
引用值使用Number函数转换成数字类型有两步**

  1. 先把引用值隐式转换成字符串类型
  2. 再把隐式转换好的字符串类型放到Number函数中

普通对象使用Number函数转换成数字类型

    Number({})  -->  Number('[object Object]')  -->  NaN

数组对象使用Number函数转换成数字类型

    Number([1])  -->  Number('1')  -->  1
    Number([1,2,3])  -->  Number('1,2,3')  --> NaN

函数对象使用Number函数转换成数字类型

 Number(function(){}) --> Number('function(){}')  --> NaN

isNaN判断是不是NaN

isNaN函数是js内置的一个函数

isNaN这个函数可以判断一个数字是不是NaN

  1. 如果是 则结果true
  2. 如果不是 则结果 false

如果用isNaN函数来判断其他js的数据类型 则会

  1. 先隐式转成数字类型
  2. 再把隐式转换好的数字类型放到isNaN

结论:isNaN()这个方法会先把其他类型数据转化成数字类型,之后判断是不是NaN

   isNaN(true) --> isNaN(1) -->false

   isNaN(function(){})  -->  isNaN(NaN)  --> true

   isNaN([1,2])  -->  isNaN(NaN)  --> true

   isNaN([1])  -->  isNaN(1)  --> false

   isNaN('12.5px')  -->  isNaN(NaN)  --> true

   isNaN(null) -->  isNaN(0)  --> false

   isNaN(undefined)   -->  isNaN(NaN)  --> true

提取数字parseInt函数和parseFloat函数

parseIntparseFloat把字符串中的数字提取出来提取出来的数字为number类型

parseInt函数

从左向右提取数字
如果遇到数字之外(空格 小数点)的就会停止提取

parseFloat函数

从左向右提取数字
如果遇到数字和小数点之外(空格)的就会停止提取

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值