js数据类型的转换上

为什么会有数据转换?

在做前端页面的时候,有时候会涉及到页面中数据的处理(加减乘除)
————————————————————————————————
例子: 西瓜 与 南瓜
就像是西瓜和南瓜一样,如果想熬一锅南瓜汤也不能在里面放上一块西瓜,那么这个时候就需要把西瓜变成南瓜了。

什么是数据类型的转换呢?

1.JS 是弱类型语言,而且JS声明变量的时候并没有预先确定的类型
2.变量的类型就是其值的类型,也就是说变量当前的类型由其值所决定的
3.夸张点说上一秒种的String,下一秒可能就是个Number类型了
4.这个过程可能就进行了某些操作发生了强制类型转换
5.虽然弱类型的这种不需要预先确定类型的特性给我们带来了便利,同时也会给我们带来困扰。

Number()

Number();可以将任意类型数据转为数值型,对任何类型都生效,转不成数字都是NaN 用于任何数据类型转化为数值
语法格式:Number(参数)
返回值: 数值

规则:
1: null 转 number:  
结果为 0 ; Number(null)// 0

2: Undefined转number:
结果为NaN;
console.log(Number(undefined)) //NaN
var a;
console.log(Number(a))//NaN

3、布尔 转 number 结果:
true = number //1
console.log(Number(ture)) //1

false = number // 0
console.log(Number(false)) //0

4、空字符串 转 number 结果  //0
console.log(Number(' ')) //0

5、非空字符串 转 number 规则
如果字符串里 的内容全部是有效数字,那么就转成对应的有效数字,否则,转number后就是NaN.
 		var arr = '123';
        console.log(Number(arr)); //123

        var arr1 = '12.34'
        console.log(Number(arr1)); //12.34

        var arr2 = '12.31.54';
        console.log(Number(arr2)); //NaN

        var arr3 = '123nx';
        console.log(Number(arr3)); //NaN

        var arr4 = '你好';
        console.log(Number(arr4)); //NaN

		'注意:数字前面有零的就省率0'
        var arr5 = '012138';
        console.log(Number(arr5)); //12138  注意;如果前面有0的化就会默认隐藏掉 

parseInt()取整

给浮点小数进行取整
将字符串转换为整数.从第一位开始,直到非数字位结束
语法格式:parseInt(string)
返回值: number
————————————————————————————————————————
规则:
1)从第一个字符开始转换,如果第一个字符就是非数字,那么得到的一定是NaN,
2)如果第一个不是非数字,就向后转换,直到遇到一个小数点,或非数字,则停止转换,将前面转面转的内容输出
// 注意:如果使用parseInt进行转换,他会把字符型转成数字型的,并且取整

	案例:
		var a = '123';
        console.log(parseInt(a)); //123

        var b = '13.14';
        console.log(parseInt(b));//12

        var c = '12.31.14';
        console.log(parseInt(c)); //12

        var d = '你好';
        console.log(parseInt(d)); //NaN

        var e = 'w123';
        console.log(parseInt(e)); //NaN

        var r = '123w';
        console.log(parseInt(r)); //123

parseFloat()取浮点数

语法:parseFloat(string)
功能:将字符串转换为浮点数.从第一位开始看,直到非数字位或无效的浮点数字结束
返回值: number类型

规则:
1)从第一个字符开始转换,如果第一个字符就是非数字,那么得到的一定是NaN2)如果第一个不是非数字,就向后转换,直到遇到第二个小数点,或非数字,则停止转换,将前面转面转的内容输出
		var a = '123';
        console.log(parseFloat(a)); //123

        var b = '12.12';
        console.log(parseFloat(b)); //12.12

        var c = '12.31.14';
        console.log(parseFloat(c));//12.31

        var d = '你好';
        console.log(parseFloat(d)); //NaN

        var e = 'w12.31'
        console.log(parseFloat(e));// NaN

        var r = '12.31w';
        console.log(parseFloat(r));//12.31

isNaN() 检测是否是非数字

isNaN()函数使用
语法格式:isNaN(参数)
功能:判断参数是否不是数值,不是数值返回true,是数值返回false
返回值:布尔值

规则:
参数能转化为数值时,返回值为false
参数不能转化为数值时,返回值为true
说明:isNaN();会发生一个隐式转换,会尝试着将检测值转为number;然后进行判断

例子:
console.1og (isNaN(123)) ://false;
console.1og (isNaN("123a")) ://true:
console. log (isNaN(true)) ://false
console.log(isNaN(NaN)); //true
console.log(isNaN(10));  //false
console.log(isNaN("10")); //false
console.log(isNaN("blue")); //true
console.log(isNaN(true)); //false

Boolean()

语法格式:Boolean(参数)
功能:将参数转换成一个布尔值,true或者false
返回值:布尔值

规则:
null undefined NaN  0  “”会转换成false
只要不是以上五个其它都会转换成true
案例:
1:等于flase的://null undefined  ''  0 NaN
// 1.null  
console.log(Boolean(null)); //false

// // 2. 0 
console.log(Boolean(0)); //false

// // 3.''
console.log(Boolean('')); //false

// // 4.undefined
console.log(Boolean(undefined)); //false

// // 5.NaN
console.log(Boolean(NaN)); //false

2:等于ture的://数字  非空字符串  一个空对象  一个空数组
 // 1.  123
var a = 123
console.log(Boolean(a));//ture

// // 2.非空字符串
var b = '天很蓝,找一个风很大的地方把我忘了';
console.log(Boolean(b));//ture

// // 3.空的一个对象
var c = {};
console.log(Boolean(c));//ture

// // 4.空数组
var d = [];
console.log(Boolean(d));//ture

总结转布尔规律:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值