JavaScript的数据类型

本文详细介绍了JavaScript中数值型、字符串型、bool类型以及undefined和null的基本概念,展示了如何获取变量的数据类型,并演示了数据类型转换技巧,包括字符串转数字、数字转布尔以及特殊值处理。
摘要由CSDN通过智能技术生成


JavaScript是一门动态语言,不需要提前声明变量的类型,在程序运行过程中,类型会被等号右边的值来自动确定。

JS把数据类型分为两类,一类是简单数据类型(number、string、Boolean、undefined、null);另一类是复杂数据类型(object)

数据类型

数值型

有八进制,在数字前面加上0表示八进制,输出的时候默认是十进制。
十六进制,在数字前面加上0x表示十六进制。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1、数值型
        var a = 10
            b = 010
            c = 0x9
        console.log(b);
        console.log(c);
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述
在数字型中有三个特殊值,Infinity表示无穷大,-Infinity表示无穷小,NaN(not a number)表示一个非数值。

可以使用isNaN用来判断是否是数字,返回结果是bool类型。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1、数值型
        var a = 10
            b = 'list'
        console.log(isNaN(a));
        console.log(isNaN(b));
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述

字符串类型

用单引号或者双引号。推荐使用单引号。如果单引号之中还想包含引号,则用单双引号避开就行。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1、数值型
        var a = 10
            b = 'list'
        console.log(isNaN(a));
        console.log(isNaN(b));
        // 2、字符串类型
        var str = 'hello world"!"'
        console.log(str);
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述
在JS中的转义符,用\开头
\n,换行符;\ 斜杠;'单引号; "双引号; \t tab缩进;\b空格

获取字符串的长度用length。注意是str.length。而不是length(str).

  var str2 = '你好啊啊啊'
  console.log(str2.length);

字符串的拼接,字符串+任何类型 = 拼接后的新字符串

将变量带入到字符串中,需要单独将变量拿出来。

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var age = 18
        console.log('我今年'+age+'岁');
    </script>
</head>
<body>
    
</body>
</html>

bool类型

在进行加法运算的时候,true当作1来计算;false当作0来计算。

undefined

如果一个变量只声明没有赋值,则是一个undefined未定义类型。
undefined加上任何一个数字都是NaN。

null

null是空值。

获取变量的数据类型

可以使用typeof来获取变量的数据类型。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var flag1 = true
        var flag2 = false
        console.log(typeof flag1);
        console.log(typeof (flag2));
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述
用户通过prompt输入的值均是字符串类型。 如果要尽行数值运算,则进行数值转换。(与python像类型)

数据类型转换

将其他类型转换成字符串类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 将其他类型转换成字符串类型
        var num = 10
        console.log(num.toString());
        console.log(String(num));
        console.log(num+'岁');
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述
着重掌握加号拼接字符串的方法。num+‘ ’

将其他类型转换成数字类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 将其他类型转换成字符串类型
        var num = 10
        console.log(num.toString());
        console.log(String(num));
        console.log(num+'岁');
        // 将其他类型转化为数字类型
        console.log(parseInt('1234'));
        console.log(parseFloat('123.456')); 
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述
蓝色的为数值型,黑色的为字符型。如果对于小数用parseInt,则会取整。并且加上单位,则也可以去掉。

注意这两个函数的书写。

将其他类型转化为Boolean类型

代表空否定的值会被转化为false。例如0、NaN、null、undefined

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 将其他类型转换成字符串类型
        var num = 10
        console.log(num.toString());
        console.log(String(num));
        console.log(num+'岁');
        // 将其他类型转化为数字类型
        console.log(parseInt('1234'));
        console.log(parseFloat('123.456')); 
        // 将其他类型转化为Boolean类型
        console.log(Boolean('true'));
        console.log(Boolean(NaN));
        console.log(Boolean('NaN'));
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值