一、课程概述
1、学习课程名称:前端工程师2022版
2、章节名称:JS数据基本类型第一章至第三章
3、讲师名称:一阶段老师
二、内容分享
1、JS中的两大类数据类型
(1)基本数据类型:Number、String、Boolean、Undefined、Null
(2)复杂数据类型:Object、Array、Function、RegExp、Date、Map、Set等等
2、typeof运算符:可以检测值或者变量的类型,它不是函数
typeof 5; //number
typeof '慕课网'; //string
(1)在页面检查的console控制面板可以直接输入typeof
(2)在HTML编辑器中需要添加输出语句console.log(typeof 5);否则会无效,除非是浏览器环境测试REPL
3、5种基本数据类型的typeof检测结果
(一)Number(数字)类型
1、所有数字不分大小、不分整浮、不分正负,都是数字类型,如925、3.13、-6,数字类型是没有子类型的
2、小数中0可以省略:如.5
3、科学计数法:较大数或较小数(绝对值较小)可以写成科学计数法,如3e8表示300000000,3e-4表示0.0003
4、不同进制的数字:
(1)二进制数值以0b开头,如0b10表示2,0b1111表示15
(2)八进制数值以0开头,如017表示15
(3)十六进制数值以0x开头,如0xf表示15
5、一个特殊的数字型值NaN:not a number,表示”不是一个数“,但是它是一个数字类型的值,记住是值不是类型:
(1)0除以0的结果是NaN
(2)若结果不能得到数字,其结果往往都是NaN,如:'我'*'你'
(3)性质:不自等NaN==NaN 输出结果是false
6、Infinity
(1)表示无穷大
(2)非零数字除以0时,结果是Infinity或-Infinity
(3)Infinity本身是一个数字类型
(4)使用typeof检测Infinity的类型是number
(二)String(字符串)类型
1、字符串就是”人类的自然语言“,必须使用引号包裹,双引号单引号均可
2、与数字在语义上区分:数字11表示一个数量,字符串'11'表示一个文本
3、使用+拼接字符串:'imo'+'oc' //'imooc'
4、字符串和变量拼接:新版ES中增加了反引号表示法,可以更方便进行变量插值
5、斩断链接:要将一个变量的值插入到字符串中,要斩断链接,如例子中的year
var year=2022;
Var str=’北京在’+year+’年举办冬奥会’;
6、空字符串:直接书写闭合的引号对即可,如var str='';
7、length属性:表示字符串的长度
'我喜欢JS'.length //5
''.length //0
'我喜欢JS,我也喜欢HTML'.length //14
8、常用方法(即能够打点调用的函数)
(1)charAt()方法:可以得到指定位置的字符,序号从0开始,如果访问数字超过了字符长度,将输出空字符串
(2)三种截取字符串的方法:
1)substring(a,b)方法:得到从a开始到b结束(不包括b处)的子字符串
①如果省略第二个参数,返回的子串会一直到字符串的结尾
②a可以大于b,数字顺序将自动调整为小数在前,和小数在前的结果相同
2)substr(a,b)方法:将得到从a开始的长度为b的子串
①b可以省略,表示到字符串的结尾,这一点与substring相似
②a可以是负数,表示倒数位置
3)slice(a,b)方法:表示切片,得到从a开始到b结束(不包括b处)的子串
①与substring相似,但是slice(a,b)中的a可以为负数,substring参数不可以为负数
②参数a必须小于参数b,而substring可以自己交换参数位置
③substr()方法可以截取字符串,它有两个参数,第一个参数是必须有的,代表截取的起始位置,当它为负数时,与字符串长度相加,获取的就是值就是起始位置,第二个参数代表截取的字符总数,当第二个参数为负数时,返回空字符串。
4)三个方法对比总结
(4)toUpperCase()方法:将字符串转为大写
(5)toLowerCase()方法:将字符串转为小写
注意:就算大小写混合,也可以全部转为大写/小写
(6)indexOf()方法:,表示……的序号,将返回某个指定的字符串值在字符串中首次出现的位置,如果检索的字符串没有出现,则返回-1,注意括号中的字符串需要用引号包裹
(三)Boolean(布尔)类型
(1)表示真true和假false的类型
(2)true和false就是两个特殊值,所以不需要引号包裹,如果加上引号就变成字符串了
(1)在进行关系运算和逻辑运算时可以用到:如3<5 //true
(四)Undefined类型
(1)注意不要加引号,不然会变成字符串
(2)在变量声明提升的时候,undefined会出现
(五)null类型
(1)表示“空”,它是“空对象”
(2)当需要将对象销毁、数据销毁或者删除事件监听时,通常将他们设置为null,如box.onclick=null;
(3)需要注意检测null类型的结果时Object(对象),所以需要注意类型和typeof检测结果并不总是一一对应的
三、学习心得
今天学习的内容中,关于substring()、substr()和slice()的使用很容易搞混,要多去敲几遍代码,把它们三个的使用方法和使用场景区分开来