JavaScript基本语法-数据类型

1.堆内存与栈内存

图解1

图解2

重: 简单数据类型存储在栈内存中

        复杂数据类型的内容存储在堆内存中,地址存储在栈内存中

2.基本数据类型

①Boolean--布尔类型

注:带引号的是字符串

<script>
        // [Boolean-布尔类型]
        let flag1 = true;
        let flag2 = false;
        //True、False、TRUE、FALSE这些写法都是错误的
        console.log(flag1);
        let flag3 = "true" //带引号的不是布尔类型,是字符串
        console.log(flag3);
</script>

②number--数字型

<script>

        // [number-数字型]
        let age = 111
        let date = "222"  //字符串
        console.log(age);
        console.log(date);

        console.log(Number.MAX_VALUE); //最大值
        console.log(Number.MAX_VALUE*2); //Infinity(无穷大)

        var a = 3-"b"
        console.log(a);  //NaN  (Not a Number)NaN也属于数字类型
</script>

③string--字符串型

<script>
        // [string-字符串]
        let demo1 ="字符串";
        let demo2 ='字符串';
        let demo3 =`字符串`;
        let demo4 ="老师说'今天晚上不上晚自习'"

        console.log("111\'222");
</script>

④undefind--未定义型

<script>
        // [undefind-未定义型]
        // 表示声明的变量还未赋值
        let grade;
        console.log(grade);  //undefind
</script>

⑤null--空型

<script>       
        // [null-空型]
        var a =null;
        console.log(a); //null
 </script>

3.数据类型检测

①isNaN--检验是否是一个数字

<script>
        // isNaN 检验是否是一个非数字
        console.log(isNaN(a));  //true
        console.log(isNaN(111));  //false
        console.log(isNaN("abc"));  //true
        console.log(isNaN(Infinity)); //false
        console.log(isNaN("false"));   //true
</script>

②typeof()操作符

当不确定一个值或变量是什么类型的数据时,可以利用typeof操作进行数据类型检测,以字符串形式返回检测结果

布尔类型的true会在运算中转化为数字1

布尔类型的false会在运算中转化为数字0

<script>
        //typeof()
        console.log(typeof("123"));  //string
        console.log(typeof(false));  //boolean
        console.log(typeof(NaN));  //number
        console.log(typeof(Infinity));  //number
        console.log(typeof("true")); //string
        console.log(typeof(undefined)); //undefined
        console.log(typeof(null));  //object

        console.log(typeof('aaa'*2));  //number
        console.log("aaa"*2); //NaN

        console.log(2-"true"); //NaN
        console.log(typeof(2-"true"));  //Number


        //布尔类型的true会在运算中转化为数字1
        //布尔类型的false会在运算中转化为数字0
        console.log(2-true); //1
        console.log(typeof(2-true)); //number

        //加号遇上字符串,做拼接使用
        console.log(2+"true"); //2ture
        console.log(typeof(2+"true")); //string

        console.log(2+true); //3
        console.log(typeof(2+true));  //number
    </script>

4.数据类型的转换

①将数据类型转换为布尔类型

        字符串类型和数字类型都会转换为布尔类型的true

        空字符串转为布尔类型的false,空格字符串转为true

        数字0转为布尔类型的false

<script>
        //Boolean()
        var a =Boolean("a")
        console.log(a);  //ture
        console.log(Boolean(123)); //true
        console.log(Boolean(""));  //false
        console.log(Boolean("  ")); //true
        console.log(Boolean(0));  //false
        console.log(Boolean(NaN));//false
        console.log(Boolean(undefined)); //false
        console.log(Boolean(null));  //false
</script>

②将数据转化为字符串类型

使用String()和toString()进行转换

<script>
        let num = 1;
        console.log(1); //数字类型的1
        let num2 = String(num);
        console.log(num2);  //字符串类型的1
</script>

③将数据转化为数字型数据

Number()用于将数据转化为数字类型

<script>
        //[将数据转化为数字型数据]
        console.log(Number(123)); //123
        console.log(Number("123")); //123
        console.log(Number("")); //0
        console.log(Number("  "));  //0
        console.log(Number(null));  //0
        console.log(Number(undefined)); //NaN
        console.log(Number(false)); //0
        console.log(Number(true)); //1
        console.log(Number("true")); //NaN
        console.log(Number("123.1")); //123.1
        console.log(Number("123.a")); //NaN
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值