javascript显式类型转换和隐式类型装换注意点(自用)

一、javascript中的数据类型一共有7种:

number:数值基本类型

boolean:布尔类型

string:字符串

null:null

undefined:undefined

object:{key:value}

二、显式类型转换

1.number():把类似数值数据转换成数字类型,无论是什么数据,结果如何,结果的类型都会变成number类型,不能转换的结果为NaN。

number(“123”)=123-->number类型

number(“123ads”)=NaN-->number类型

number(true)=1-->number类型

number(nulll)=0-->number类型

2.praseInt:强制类型转换为整数。

praseInt(true)=NaN

praseInt(“123”)=123>>可以转换字符串的数,但是不会转换boolean。

praseInt(“123adc”)=123>>从数字开始到第一个非数字结束,把数字返回

可以用praseInt(12,16)=18>>把一个12当成16进制转换成10进制!!

3. praseFloat相似与praseInt

4.string():把任何东西都转换成字符串类型>>任何数据!

5.tostring()和string()方法相似,但是有两个值不能用,undefined和null不能使用tostring方法,会报错。

例子:var demo=10;

var num=demo.tostring(8)>>把10转换成8进制,num的结果为12

特点:可以和praseInt方法搭配,praseInt是把其他进制转换成10进制,二头string是把10进制装换成其他进制,可以通过配合实现进制转换功能。

三、隐式类型转换

1.isNaN(“abc”)=true:判断是否为NaN

在执行的时候isNaN()会先把abc字符串进行nmber()运算,再判断是不是NaN。

例子 isNaN(null)=false

2. ++和-- 

var a=“123”

a++=124  :会在执行之前先进行number(“123”)转换,然后在进行++运算

执行过后的结果一定为数值类型,就算是a="abc"结果会是NaN,它也会是数值类型。

3.+

如果只有一个值进行运算,比如+a,就是把a转换成数值类型

如果是两个值运算,其中有一个为字符串,那他就会把另一个也变成字符串然后做相加。

    var a="asd";
    var b=1;
   a+b的结果为asd1

4.* 和/和-  :都是吧两边的数据都进行number()后进行运算

5.==和!=

特殊的例子:

1==true

1==“1”

undefined==null

这些都成立。但是nan不可以等于任何东西

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值