JavaScript基础复习之数据类型,解读数据类型不为人知的一面

<=> 朋友你好,这里是小毅的前端日记, 分享代码日常 !
<=> 本文目标:查缺补漏Javascript数据类型,解读数据类型不为人知的一面
<=> 卑微的大三前端仔持续输出前端知识,欢迎批评指正 !
<=> 愿你永远青春激昂,风华永驻 !

前言

hello,大大大家好,我是小毅,一名学前端的大三学生。今天跟着老杜重新学了JavaScript基础之数据类型,都说分享是复习的最好方式,下面我就本人的角度来分享一下数据类型。如有错误之处,欢迎批评指正 。

哦对了,差点忘说,最近刷题的时候有小伙伴在问,有没有好用并且成体系的的刷题资源,
那今天就为大家推荐一款我正在用的、超nice的神器点击访问牛客网
里面的互联网大厂面试真题刷到手软,从基础到进阶,只有你想不到,没有他做不到,赶紧卷起来吧!助你成为offer收割机!

一、JavaScript有哪些数据类型呢

1、数据类型

六大原始类型:Undefined Null Boolean String Number Symbol(这个是ES6新增的)

复杂数据类型:Object和Object子类

2、typeof操作符

接下来我们看一个操作符 typeof ,我们可以用typeof来查看变量是什么样的类型,例如

let num2 = 35;
console.log(typeof num2);//数字类型

这里的结果是number在这里插入图片描述
用 typeof 得到的有6个值,分别对应数据的类型,

undefined : 表示值未定义

boolean: 表示值为布尔值

string : 表示值为字符串

number : 表示值为数值

object : 表示值为对象或null,这里的对象不是指函数,至于为啥,我还不是很理解,呜呜呜

symbol : 表示值为符号

function : 表示值为函数

attention:
1、注意这里都是小写的
2、通过console.log(typeof Null) 得出对于Null类型的有点特殊,结果是object,因此我们可以把Null 类型看成是空对象

二、具体的常用类型

1、Undefined类型

let name;

// 说明未初始化的变量会默认初始化为undefined

console.log(name == undefined);
console.log(typeof name);

请添加图片描述

2、布尔类型

布尔类型一共有两个值,分别是 true和false

我们可以用Boolean()函数把其他类型的转换为布尔类型,例如

let name1 = "moyi";

let BooleanName1 = Boolean(name1);

console.log("我的类型是:" + BooleanName1);

在这里插入图片描述

3、数值类型

数值类型的数据,只要是阿拉伯数字都是

当然还有特殊值:NAN 意思为“不是数值”,用于原本要返回一个数值类型的值,但是出错了,如0/0返回NAN

Infinity表示无穷,加正负号表示正负无穷,如 -5/0返回 -Infinity

console.log("以下是Number类型的内容");
let num1 = 33.2;

console.log(num1);

// 正无穷

console.log(3 / 0);

console.log(0 / 0);

// 判断一个值是否是NaN型,NaN意思是不是数值

console.log(isNaN(12));

console.log(isNaN("moyi"));

在这里插入图片描述

类型转换:Number() parseInt() parseFloat

注意是:NAN 意思为“不是数值”,用于原本要返回一个数值类型的值,但是出错了,如0/0返回NAN

console.log("以下是Number转换");

console.log(Number(7999));//7999

console.log(Number("7999adf"));//NaN

console.log(Number("0x2f"));//16进制转换为十进制 47

console.log(Number("aa12"));//NaN

// 第二个小数点后就不转换了

console.log("parse转换"); 
console.log(parseInt("7999adf")); console.log(parseInt("1405", 8));//转换为八进制00 console.log(parseFloat("7999.22.8884adf"));

在这里插入图片描述

4、字符串类型

// 用转义字符显示

let str2 = "I love you, 'JavaScript'";

console.log(str2);

// 字符串一旦初始化,不能再次更改,除非先销毁原始字符串,然后将新的字符串保存至原字符变量中

let str1 = "my";

str1 = str1 + " baby"; //此处就是将新字符串赋给原来的,以便达到更新的效果

console.log(str1);

在这里插入图片描述

let num2 = 35;

let num2TOString = num2.toString();

console.log(typeof num2);//数字类型

console.log(typeof num2TOString)//数字类型转换为了字符串

console.log(num2.toString(8))//将十进制转换为八进制

在这里插入图片描述

常用string函数

length长度

indexOf第一个字符出现的索引 从0开始为第一个

lastIndexOf 最后一个字符出现的索引

replace 替换

substr 截取字串

substring截取字串

toLowerCase转小写

toUpperCase转大写

 let str = "Iloveyou";
 console.log(str.length);
 console.log(str.indexOf('y'));
 console.log(str.replace("love", "fond"));//只替换一次,若要多次,可以用正则表达式
 // 提问:你知道substr和substring的区别吗 
 // 从开始往后数4个
 console.log(str.substr(2, 4));
 // 到第四个结束,不包含结束的那一个,即不包含第四个
 console.log(str.substring(2, 4));

在这里插入图片描述

5、Object类型,此处省略

  // 5、Object类型
   var obj = {
         name: 'moyi',
         length: 170
       };
    console.log(obj)//打印该对象
    console.log("我的类型是:" + typeof obj);

在这里插入图片描述

三、完整代码,方便后期查看复习

努力学习,准备明年的实习和秋招,大家加

油啊,冲冲冲

<!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>
</head>
<body>
    <script>
        // Undefined Null Boolean String Object  Number 六大类型,原始类型,还有一种复杂数据类型为Object
        // 1、Undefined类型
        let name;
        // 说明未初始化的变量会默认初始化为undefined
        console.log(name == undefined);
        console.log(typeof name);

        // 2、字符串转化为布尔类型
        let name1 = "moyi";
        let BooleanName1 = Boolean(name1);
        console.log("我的类型是:" + BooleanName1);

        // 2、Number类型
        console.log("以下是Number类型的内容");
        let num1 = 33.2;
        console.log(num1);
        // 正无穷
        console.log(3 / 0);
        console.log(0 / 0);
        // 判断一个值是否是NaN型,NaN意思是不是数值
        console.log(isNaN(12));
        console.log(isNaN("moyi"));

        // 3、类型转换:Number()   parseInt() parseFloat
        console.log("以下是Number转换");
        console.log(Number(7999));
        console.log(Number("7999adf"));
        console.log(Number("0x2f"));
        console.log(Number("aa12"));
        console.log("parse转换");
        console.log(parseInt("7999adf"));
        console.log(parseInt("1405", 8));//转换为八进制00

        // 第二个小数点后就不转换了
        console.log(parseFloat("7999.22.8884adf"));

        // 4、String类型
        // 用转义字符显示
        let str2 = "I love you, \'JavaScript\'";
        console.log(str2);
        // 字符串一旦初始化,不能再次更改,除非先销毁原始字符串,然后将新的字符串保存至原字符变量中
        let str1 = "my";
        str1 = str1 + " baby"; //此处就是将新字符串赋给原来的,以便达到更新的效果
        console.log(str1);
        // 5、转换为字符串用toString()
        let num2 = 35;
        let num2TOString = num2.toString();
        console.log(typeof num2);//数字类型
        console.log(typeof num2TOString)//数字类型转换为了字符串
        console.log(num2.toString(8))//将十进制转换蔚八进制

        /* 常用string函数
        length长度
        indexOf第一个字符出现的索引 从0开始为第一个
        lastIndexOf 最后一个字符出现的索引
        replace 替换
        substr 截取字串
        substring截取字串
        toLowerCase转小写
        toUpperCase转大写
        */
        let str = "Iloveyou";
        console.log(str.length);
        console.log(str.indexOf('y'));
        console.log(str.replace("love", "fond"));//只替换一次,若要多次,可以用正则表达式
        // 提问:你知道substr和substring的区别吗
        // 从开始往后数4个
        console.log(str.substr(2, 4));
        // 到第四个结束,不包含结束的那一个,即不包含第四个
        console.log(str.substring(2, 4));

        // 5、Object类型
        var obj = {
            name: 'moyi',
            length: 170
        };
        console.log(obj)
        console.log("我的类型是:" + typeof obj);
    </script>
</body>
</html>

nsole.log(str.substr(2, 4));
// 到第四个结束,不包含结束的那一个,即不包含第四个
console.log(str.substring(2, 4));

    // 5、Object类型
    var obj = {
        name: 'moyi',
        length: 170
    };
    console.log(obj)
    console.log("我的类型是:" + typeof obj);
</script>
```
  • 29
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值