天天看点

一、前端基础-JavaScript-JavaScript数据类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!-- JavaScript堆内存与栈内存
1、堆内存:基本数据类型,如整型,字符串
2、栈内存:引用数据类型,如对象
-->

<!-- JavaScript的基本数据类型
1、数字类型:Number,包括整型int和浮点型float和NaN,
   NaN是number类型,但是NaN不等于,不大于,也不小于任何数字,包括NaN
2、字符串:string,字符,符号,数字组成的序列
3、布尔值:Boolean,false或true,用于调节判断
4、空:Null 声明一个空对象,只能是对象(引用数据类型)
5、未定义:Undefined,内部只有一个值undefined,如果声明了某个变量但是没有赋值,那么变量的类型就是undefined
-->

<!-- JavaScript引用数据类型
1、对象:Object
-->

<script>
    //数字类型
    var s1=123;
    alert(s1);
    //NaN
    alert(NaN == 0);
    alert(NaN > 0);
    alert(NaN < 0);
    alert(NaN != 0);

    //字符串
    var s2="hello";
    alert(s2);

    //布尔值
    while (true){
        alert("success");
        break
    }

    //Null
    var obj=null;
    alert(obj);

    //未定义
    var s3=undefined;
    alert(s3);
</script>

<!-- 数据类型转换
1、数字+字符串,会将数字转换成字符串进行拼接
2、数字+布尔值,会将布尔值转换成数字进行运算
3、字符串+布尔值,会将布尔值转换成字符串拼接
4、parseInt:转换成int类型
-->

<script>
    alert(1+"hello");
    alert(1+true);
    alert("hello"+true);
    alert(parseInt(3.14));
    alert(parseInt("a3.14"));//NaN:当字符串转换数字失败时就是NaN数据,not a number
</script>

<!-- 打印数据类型
    1、typeof:只能识别基本数据类型,不能识别引用数据类型(对象)
    2、instanceof:判断数据类型,可以识别引用数据类型(对象)
-->

<script>
    //typeof
    var t1=123;
    var t2=NaN;
    var t3="hello";
    var t4=false;
    var t5=null;
    var t6=obj;

    console.log(typeof (t1));
    console.log(typeof (t2));
    console.log(typeof (t3));
    console.log(typeof (t4));
    console.log(typeof (t5));
    console.log(typeof (t6));

    //typeof 无法识别引用数据类型,instanceof可以判断,返回True或者False
    var s1 = new String("hello");
    alert(typeof(s1));
    alert(s1 instanceof String);
</script>
</body>
</html>           

复制