JavaScript第二天

一、数据类型

字符串string

数值型number

布尔型boolean

undefined

unll

object


 

2.类型转换

(1)隐式类型转换

("50"-"30")

自动将数据类型转换成另一种数据类型的过程叫隐式类型转换

(2)显示类型转换(强制类型转换)

显示类型转换需要手动转换到类型

将其他的数据类型转换成数值型

        v1=081       //如超出八进制按十进制输出
        console.log(v1)

        v2=20e500     //infinity   正无穷大
        console.log(v2)

        v3=-20e500     //-infinity   负无穷大
        console.log(v3)

        // js 整型最大表示范围   2^53-----2^-53

        var v1=prompt("请输入:")
        // 输入年龄,判断中年、老年、青年
        console.log(typeof(v1))
        console.log("50"-"30")
        console.log("50"+"30")
        console.log(Number("50")+Number("30"))

Number()

        Number("12.34")   //12.34

        Number("true")   //1

        Number("false")    //0

        Number("")       //0

        Number(null)         //0

        Number(undefined)     //nan

        Number(NaN)           //nan

        console.log(Number(12))   //12
        console.log(Number("12"))   //23
        console.log(Number("hello")) //nan
        console.log(Number("23aa"))  //nan
        console.log(Number("true"))   //1
        console.log(Number("false"))    //0
        console.log(Number(""))       //0
        console.log(Number(0x56))      //86
        console.log(Number("0x56"))    
        console.log(Number(023))       //19
        console.log(Number("023"))      //23
        console.log(Number(00023))      //19
        console.log(Number("00023"))    //23
        console.log(Number("30e5"))      //300000
        console.log(Number(null))         //0
        console.log(Number(undefined))     //nan
        console.log(Number(NaN))           //nan

parseInt()

        parseInt(12)    //12

        parseInt(12.34)  //0

        parseInt(true)   //nan

        parseInt(false)  //nan

        parseInt("")    //nan

        parseInt("30e5")   //30

        parseInt(25,16)    //37

        parseInt(25,8)      //21

        parseInt(1001,2)    //9

        parseInt(25,10)     //25

        console.log(parseInt(12))
        console.log(parseInt(12.34))
        console.log(parseInt(0.12))
        console.log(parseInt("23"))
        console.log(parseInt("hello"))
        console.log(parseInt("23aa"))
        console.log(parseInt(true))   //nan
        console.log(parseInt(false))  //nan
        console.log(parseInt(""))     //nan
        console.log(parseInt(0x56))     //86
        console.log(parseInt("0x56"))  //86
        console.log(parseInt(023))      //19
        console.log(parseInt("023"))    //23
        console.log(parseInt(00023))    //19
        console.log(parseInt("00023"))   //23

        console.log(parseInt("30e5"))   //30

parseFlot()

        parseFloat("23.34")   //23.34

        parseFloat("23.45.78") //23.45

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

NaN : not a Number   非数值

表示一个本来要返回数值的操作数,而没有返回数值的情况

NaN不等于任何数值


 

3.进制转换

(1)其他进制转换为10进制

parseInt(25,16)

parseInt(25,8)

parseInt(25,10)

parseInt(101,2)

        console.log(parseInt(25,16))    //37
        console.log(parseInt(25,8))      //21
        console.log(parseInt(1001,2))    //9
        console.log(parseInt(25,10))     //25

(2)十进制转换为其他进制

v1=23

v1.toString(16)

v1.toString(8)

v1.toString(2)

v1.toString(10)

        var v1=23
        console.log(v1.toString(16))
        console.log(v1.toString(8))
        console.log(v1.toString(2))
        console.log(v1.toString(10))


 

4.常用方法

isNaN()  判断是否为非数值

isFinite()  判断是否是正负无穷

isFinite(200e500)   //flase

isFinite(200e5)     //ture

        console.log(isFinite(200e500))  //flase
        console.log(isFinite(200e5))    //ture


        console.log(isNaN("hello"))  //T
        console.log(isNaN(true))     //F
        console.log(isNaN(false))     //F
        console.log(isNaN("10"))      //F

任何涉及nan的操作,都返回NaN

        isNaN(NaN/8)

        isNaN(NaN+8)

        isNaN(NaN-8)

        isNaN(NaN*8)

NaN与任何值都不相等,包括他本身

        isNaN(NaN==NaN)   //flase

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

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

5.常见面试题

null*5             隐式转换把null转换为0

NaN*3              NaN

undefined*5        NaN 隐式转换把undefined转换为NaN

"hello"*5          NaN

"23"+5             235

"23"*5             115

"23"*1+5            28

        console.log(null*5)
        console.log(null*5)
        console.log(NaN*3)
        console.log(undefined*5)
        console.log("hello"*5)
        console.log("23"+5)
        console.log("23"*5)

6.布尔值

     true   false  小写

   if(10>0){

   }else{}

   if((10>5)==true){}

   等价于

   if(10>5){}

   if(!10>5){}

    类型转换

    Boolean()

    Boolean(23)

    Boolean(0)

    Boolean("hello")

    Boolean("")

    Boolean(null)

    Boolean(undefined)

truefalse
数值型非空0
字符型非空串""
undefinedfalse
nullfalse
object任意对象返回的都是true

7.undefined类型

(1)变量只声明,未赋值

var a

typeof(a)      undefined

alert(a)       undefined

        var a
        if(undefined==undefined){
            alert("y")
        }else{
            alert("n")
        }

        console.log(undefined==undefined)
        console.log(undefined===undefined)

(2)函数没有返回值默认 undefined

function f1(){

            alert("hello")

        }

        var r=f1()

        console.log(r)

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

function f1(a,b){

            alert(a)

            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

        if(b==null){}


 

9.object对象类型

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


 

10.***typeof***

(1)数值类型,typeof返回number

        typeof(1)       //number

        typeof(NaN)     //number

        typeof(Number.MAX_VALUE)      //number

        typeof(Number.MIN_VALUE)      //number

        typeof(Infinity)       //number

(2)字符串类型,typeof返回string

        typeof("123")      //String

(3)布尔类型,typeof返回boolean

        typeof(true)       //Boolean

(4)对象、数组、null,typeof返回object

        typeof(window)     //Object

        typeof(document)   //Object

        typeof(null)       //Object

        typeof(Math)       //Object

        typeof([])         //Object

(5)函数类型,typeof返回function

        function f1(){}

        typeof(f1)

        typeof(date)

        typeof(eval)

(6)未定义的变量或undefined返回undefined

        console.log(typeof(c))          //undefined

        console.log(typeof(undefined))  //undefined

        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
        console.log(typeof("123"))      //String
        console.log(typeof(true))       //Boolean
        console.log(typeof(window))     //Object
        console.log(typeof(document))   //Object
        console.log(typeof(null))       //Object
        console.log(typeof(Math))       //Object
        console.log(typeof([]))         //Object
        console.log(typeof(Date))       //function
        console.log(typeof(c))          //undefined
        console.log(typeof(undefined))  //undefined


 

二、流程控制语句

1.if(){

}

else if{

}

else if{

}else{

}

2.switch(){

        case:语句体;break:

        case:语句体;break:

        case:语句体;break:

        default  语句体

}

        var a=3

        switch(a){

            case 1:console.log("a1");

            case 2:console.log("a2");

            case 3:console.log("a3");

            case 4:console.log("a4");

            default:console.log("a5");

        }

        var a=4

        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++){

        语句体

}

//for in / for each

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、付费专栏及课程。

余额充值