js数据类型

js数据类型
一、数据类型
字符串类型string    数值型number  布尔型boolean  undefined  null  object

1、数值型

number()

2、类型转换
(1)隐式类型转换:自动将数据从一种数据类型转换成另一种数据类型的过程
console.log("50"-"30")//20
(2)显示类型转换(强制类型转换)
需要手动转换成目标类型
Number()        :将其他数据类型转换成数值型
对于boolean 转换为0,1
带浮点
        console.log(Number("12.45"));    //12.34
        console.log(Number(true));       //1
        console.log(Number(false));      //0
        console.log(Number(""));         //0
        console.log(Number(null));       //0
        console.log(Number(undefined));  //NaN
        console.log(Number(NaN));        //NaN
parseInt()      :
将其他类型转换为整型
        console.log(parseInt(12.34));    //12
        console.log(parseInt(0.12));     //0
        console.log(parseInt(true));     //NaN     X
        console.log(parseInt(false));    //NaN     X
        console.log(parseInt(" "));      //NaN     X
        console.log(parseInt(25,16));    //37      X 2*16+5
        console.log(parseInt(25,8));     //21      X 2*8+5
        console.log(parseInt(1001,2));   //9       X 1*2*2*2+1
        console.log(parseInt("30e5"));   //30
        console.log(parseInt(25,10));    //25
parseFloat()    :
        console.log(parseFloat("23.24"));     //23.24
        console.log(parseFloat("23.45.78"));  //23.45
NaN:not a number 非数值
    一个本来要返回数值的操作数而没有返回数值的情况
    NaN是不等于任何数值

3.进制转换
(1)其他进制转换为十进制parseInt()
(2)十进制转换为其它进制
 v1=23;
        v1.toString(16)
        v1.toString(8)
        v1.toString(2)
        v1.toString(10)

4.常用方法
isNaN()    判断是否为非数值
(1)任何设计NaN的操作都返回NaN
(2)NaN与任何值都不相等,包括它本身
  alert(isNaN(true));//false
        alert(isNaN(false));//false
        alert(isNaN("10")) ;//false  X
        alert(NaN/8);//NaN
        alert(NaN+8);//NaN
        alert(NaN-8);//NaN
        alert(NaN==NaN);//false
        alert(0/0);     //NaN

5.常见的转换
        console.log(null*5)//隐式转换null number(null)=0      //0
        console.log(NaN*3)       //NaN
        console.log(undefined*5) //NaN
        console.log("hello"*5)   //NaN   X
        console.log("23"+5)      //235   X
        console.log("23"*5)      //115

isFinite() 
        判断是否有穷,无穷为false 有穷为true
        alert(isFinite(200e500));//false
        alert(isFinite(200e5));  //true

6.boolean型
  true false小写
  if(10>0){

  }else{

  }
  if((10>5)==true){}
  等价于
  if(10>5)
  if(!10>5){}

  布尔类型转换
        Boolean()
        console.log(Boolean(23));      //true  
        console.log(Boolean(0));       //false
        console.log(Boolean("hello")); //true
        console.log(Boolean(""));      //false
        console.log(Boolean(null));    //false
        console.log(Boolean(undefined));//false
    对于数值型的转换  :非空为true    0为false
    对于字符型的转换  :非空串为true  ""为false
    对于undefined的转换:返回false
    对于null的转换       返回false
    对于object的转换   任意对象返回的都是true

7.undefined类型:
        (1)变量只声明未赋值
        var a;
        alert(a);//undefined 变量被声明但没赋值
        alert(typeof(a));//undefined
        alert(c)//报错

        (2)函数没有返回值默认为undefined
        
        (3)调用函数时,应该提供参数,但没用提供,该参数返回undefined

8.null 空类型
        对象类型
         var a=null
         alert(typeof(a));//object    null是一种特殊的object
        var b={}//创建对象的详解
        b.a=23
        b.f1=function(){}
        b=null
        if(b==null){}

9.object 对象类型
对象就是一定属性和方法的封装体,通过对象能够引用这些方法和属性

10.*** typeof ***
        (1)数值类型,typeof返回number
        console.log(typeof(1))              //number
        console.log(typeof(NaN))            //number
        console.log(typeof(Number.MAX_VALUE))//number
        console.log(typeof(Number.MIN_VALUE))//number
        console.log(typeof(Infinity))        //number

        (2)字符串类型:typeof返回 string
        console.log(typeof("123"))           //string

        (3)boolean类型,typeof返回boolean
         console.log(typeof(true))            //boolean

        (4)对象、数组、null,typeof返回object
        console.log(typeof([]));            //object
        console.log(typeof(window))          //object
        console.log(typeof(document))       //object
        console.log(typeof(null))            //object
         console.log(typeof(Math))           //object

        (5)函数类型,typeof返回function
         function f1(){}
        console.log(typeof(f1));//function
        console.log(typeof(eval));//function
        console.log(typeof(Date));//function

        (6)未定义的变量或undefined本身
        console.log(typeof(c))              //undefined
        console.log(typeof(undefined))      //undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值