js数据类型 流程语句

学习内容:

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

1.数值型
     v1=10
     v1=10.5
     v1=081     //如超出了8进制按10进制输出
     console.log(v1)
     v2=20e500    
     console.log(v2)   //infinity   正无穷
     v2=-20e500   
     console.log(v2)    //-infinity   负无穷
    //js 整型最大表示范围   2的53次幂----2的负53次幂
    MIN_VALUE 属性是 JavaScript 里最接近 0 的正值,而不是最小的负值。
2.类型转换
(1)隐式类型转换:自动将一种数据类型转换成另一种数据类型
    console.log("50"-"30")

(2)显示类型转换(强制类型转换):需要手动转换到目标类型
    将其它数据类型转换为数值型:
    Number()
        console.log(Number("12.34"))        //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
        console.log(parseInt(false))        //NaN
        console.log(parseInt(""))           //NaN
        console.log(parseInt("30e5"))       //30
        console.log(parseInt(25,16))        //37    25是16进制数转换成10进制为37
        console.log(parseInt(25,8))         //21    将8进制下的25转换为10进制数为21
        console.log(parseInt(1001,2))       //9
        console.log(parseInt(25,10))        //25

    parseFloat()
        console.log(parseFloat("23.34"))    //23.34
        console.log(parseFloat("23.45.78")) //23.45

    NaN:not a number  非数值
        表示一个本来要返回数值的操作数而没有返回数值的情况,不等于任何数值

3.进制转换
(1)其他进制转换为十进制
    parseInt(25,16)
    parseInt(25,8)
    parseInt(25,10)
    parseInt(101,2)

(2)十进制转换为其他进制
    v1=23
    v1.toString(16)         //17
    v1.toString(8)          //27
    v1.toString(2)          //10111
    v1.toString(10)         //23

4.常用方法
    isNaN()     判断是否为非数值
        console.log(isNaN("hello"))      //true
        console.log(isNaN(true))         //false       
        console.log(isNaN(false))        //false
        console.log(isNaN("10"))         //false

        任何涉及NaN的操作,都返回NaN
        console.log(NaN/8)                //NaN
        console.log(NaN+8)                //NaN
        console.log(NaN-8)                //NaN
        console.log(NaN*8)                //NaN

        NaN与任何值都不相等,包括他本身
        console.log(NaN==NaN)              //false
        console.log(0/0)                   //NaN

    isFinite()  判断是否为正负有穷数      是为true
        console.log(isFinite(200e5))          //true
        console.log(isFinite(200e500))        //false

5.常见的面试题
        console.log(null*5)         //0
        console.log(NaN*3)          //NaN
        console.log(undefined*5)    //NaN
        console.log("hello"*5)      //NaN
        console.log("23"+5)         //235
        console.log("23"*5)         //115
        console.log("23"*1+5)       //28

6.布尔型boolean
    true  false 小写
    if((10>5)==true){}  等价于  if(10>5){}

 取反: if(!10>5){
            alert("a")
        }else{
            alert("b")
        }

类型转换
    Boolean()
    Boolean(23)             //true
    Boolean(0)              //false
    Boolean("hello")        //true   
    Boolean("")             //false
    Boolean(null)           //false
    Boolean(undefined)      //false

                    true        false
    数值型          非空           0
    字符型          非空           ""
    undefined      返回false
    null           返回false
    object         任意对象返回都为true

7.undefined类型  
(1)变量只声明,未赋值
        var a
        typeof(a)       //undefined
        alert(a)        //undefined

        alert(c)        //报错

(2)函数没有返回值,默认undefined
        function f1(){
            alert("hello")
        }
        var r=f1()
        console.log(r)

(3)调用函数时,应该提供参数,但没有提供,该参数返回undefined
        function f1(a,b){
            alert(a)     //3
            alert(b)     //undefined
        }
        f1(3)

8.null 空类型
    var a=null
    console.log(typeof(a))     //object  null是一种特殊的object
    
    var b={}
    b.a=23
    b.f1=function(){}
    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)布尔类型,typeof返回boolean
            console.log(typeof(true))             //boolean

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

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

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

二、流程控制语句
1.  if(){

    }else if(){

    }else{

    }

2.switch(){
    case:语句体;break;
    case:语句体;break;
    case:语句体;break;
    default 语句体
    }

            var a=1
            switch(a){
                case 1:
                case 2:
                case 3:console.log("a3");break;
                case 4:
                case 5:console.log("a5");
                default:console.log("a6");
            }

3.for(var i=0;i<5;i++){
    语句体
}

4.while循环
5.do while循环   至少执行一次

6.  break     立即跳出循环
    continue  停止当前循环,进入下一次循环


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值