区分数据类型与类型转换

数据类型的区分

typeof()/typeof 用来区分每一种数据是什么类型的(number,string,boolean,undefined,object,function)

eg:console.log(typeof(num));——number
object:1.空对象2.数组3.null。泛泛的引用值都是object
eg:console.log(typeof(undefined))——undefined
console.log(typeof(function))——function
console.log(typeof(typeof(undefined)))——string
★(typeof(typeof(number/string/boolean/undefined/object/function)))——string
★(typeof(typeof(NaN)))——number
★(typeof(typeof(null))——object
任何一个变量未经声明就使用会报错,但放typeof里不会

类型转换

一、显示类型转换
1.number(min)把括号里的值转换为数字。
eg:number("123")——123字符串转数字
number(true)——1
number(false)——0
number(null)——0
number(undefined)——NAN 。凡是应该转换成数字的但转换不了的都是NAN,eg:字母。
2.parseInt(string,radix基底)转成整数,有小数点就去掉小数点后面的数。
eg:parseInt(123.3)——123
parseInt(123abc)——123
parseInt(true/false/null/undefined)——NaN

var demo = "10";
var num = parseInt(demo,16)
num——16
以16进制为基底把demo转为10进制;把10当成16进制

3.parseFloat(string)转为浮点型的数,从数字位开始看,截止到点以外非数字位截止
parseFloat(100.2abc)——100.2
4.toString(radix)转为目标进制;(也可转为字符串)。除了undefined、null不能用,会报错

var demo = 123;
num = demo.toString()

5.string(mix)致力于把括号里的东西转为字符串
6.Boolean()把里面的东西转为布尔值(除了undefined,null,NaN," ",0,false为false;剩下的的都是true)
二、隐式类型转换

  1. isNaN()内部会先把括号里的值放number()转换,然后和NaN对比,相等为true
  2. “++”/"–","+"/"-"(一元正负);先转换为number再参与运算 var a = "123"; a ++;——124
  3. “+” 当+号两侧有一个为字符串的话,就会调用string,都变成字符串 a = "a" + 1——a1
  4. “-”,"*","/","%", 都是先转换为number再运算
  5. “&&”,"||","!", 调用boolean转换
  6. “>”,"<",">=","<=", 转为number值
  7. “==”,"!=",转为number值

★undefined 等于null;{} 不等于{}引用值比的是地址,地址相同才为true
三、不发生类型转换

  1. "==="绝对等于,两侧长得一样才相等
  2. "!=="绝对不等于

NaN === NaN错误,NaN不等于任何,包括自身
to.Fixed(“保留几位有效数字并四舍五入”)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值