JavaScript基础知识点(学习李炎恢视频)

一、语法、关键字保留字及变量

1、标识符组成开头:a、_、 $(其他组成: a 、 _、 $、 数字)

2、不能把关键字,保留字、true false null作为标识符

3、字面量:就是程序中直接显示出来的数据值(数字字面量、字符串字面量、布尔字面量、正则表达式字面量、对象字面量)

4、变量:变量本质是一个空盒子,里面记录了一个内存地址,使能找到内存中的对象,保存了指向具体的实在的东西的地址(变量存在栈中,对象存在堆中)

二、数据类型

1、数值(number)、字符串(string)、布尔值(boolean)、undefined、null、Symbol

2、判断数据类型的方法:

typeof()(最常见的判断方法、返回的类型都是字符串形式)、instanceof()、constructor、prototype(),

3、数据类型转换:

toString()转换成字符串,在JavaScript中所有数据类型都可以转换成string类型

parseInt()解析出一个string或者number类型的整数部分,如果没有可以转换的部分,则返回NaN

parseFloat()解析出一个string的浮点数部分,如果没有可以转换的部分,则返回NaN

4、强制类型转换:

Boolean():把给定的值转换成Boolean型

(Boolean(12) 、Boolean([]) 、Boolean({}) => true Boolean("") 、Boolean(null) 、Boolean(underfined) => false)

Number()把给定的值转换成数字(可以是整数或浮点数)

(Number(“123”) =>123、Number(“123h”)=>NaN、Number(true)=>1、Number(false)=>0、Number(undefined)=>NaN、Number(null)=>0、Number([])=>0、Number({});=>NaN)

string()把给定的值转换成字符串

(String(123)=>“123”、String([1,2])=>“1,2”、String(undefined) =>“undefined”、String(null) =>“null”、String({})=>"[object Object]")

5、隐式转换

数字+字符串:数字转换为字符串 console.log(12+“12”); //1212
数字+布尔值:true转换为1,false转换为0 console.log(12+true); //13
字符串+布尔值:布尔值转换为true或false console.log(“hello”+true); //hellotrue
布尔值+布尔值 console.log(true+true); //2
6、undefinednull //结果为true,但含义不同。
undefined
=null //false,两者类型不一致,前者为“undefined”,后者为“object”

三、运算符

算术运算符(+,-,,/,%,++,–):如果引用所指的地方是null的话,那么在运算中就会自动变成0

赋值运算符(=,-=,+=,*=,/=,%=):左右都是数字:数字相加、左右有一个字符串:字符串拼接、左右边有一个null:null看做0、左右边有一个undefined:结果是NAN

比较运算符(,=,!=,>,<,>=,<=):先执行表达式计算再赋值、==和!=在比较之前首先让双方的值做隐士类型转换,===不转换

逻辑运算符(||,&&,!):&&逻辑与:二元操作符,第一个操作数的布尔值为true,则值为第二个操作数,第一个操作符的布尔值为false则值为第一个操作数,如果第一个操作数的布尔值是false,则第二个操作数不被执行。||逻辑或:与逻辑与的操作很相似,但取值刚好相反,当第一个操作数的布尔值为true时,则值为第一个操作数,第一个操作数的布尔值为false时,则值为第二个操作数。同样逻辑或的操作是短路操作,当第一个操作数的布尔值为true时,第二个操作数不会被执行。

四、流程控制语句

1、条件语句:

if…else、if…else if…else
当通过判断返回某个值的时候,优先使用三元表达式
当通过判断执行N段逻辑代码的时候,只能用条件结构

2、switch语句:

只要匹配上一个case,那么它下面的所有的case都会执行包括default
break的意思跳出当前结构

3、for语句:

continue的意思结束本次循环进入下次循环

continue 结束本次循环,继续下一次循环 当前这次循环不做 直接做下面的
break 结束后面的循环不做了

4、while/do...while语句:

一般情况下面,如果条件判断是数字的比较==<>,for循环优先.
如果是非数值相关的比较循环,while优先

五、对象和数组

1、创建Object的方式:使用new运算符创建、使用字面量方式、属性字段创建、字面量及传统复制方式

2、输出属性方式:点表示输出、[’ ‘]输出

3、delete删除对象属性

4、创建数组方式:使用new关键字创建、使用字面量方式创建、

5、数组的方法:

push()数组末尾添加一个元素,并返回长度

shift()移除数组开头元素,并返回移除的元素

unshift()为数组的前端添加一个元素

pop()移除数组末尾元素,并且返回移除的元素

reverse()逆向排序(返回排序后的数组,原数组也被逆序了,说明是引用)

sort()从小到大(返回排序后的数组,原数组也被从小到大排序)

concat()基于当前数组创建一个新数组,返回新数组

slice()基于当前数组获取指定区域元素并创建新数组(slice(1,3)指从第1个位置取到第3个位置)

splice()向数组的中部插入元素=》删除功能:splice(0,2)指截取前两个元素,返回截取的元素,当前数组被截取的元素被删除。

插入功能:splice(1,0 , “a”)指没有截取,但插入一个元素,在第2个位置插入。

替换功能:splice(1,1,‘a’)指截取第2条,替换成a,输出截取的元素

六、时间与日期

1、使用new运算符合Data构造方法创建日期对象(不传参数,获取当前时间和日期)

2、Data.parse()接收一个表示日期的字符串参数,并返回相应的毫秒数(Data.parse(‘4/12/2020)’),如果没有传入或不是标准的日期格式,返回NaN,若要得到指定日期,将Data.parse()传入Data构造方法中

3、Data.UTC()返回表示日期的毫秒数(Data.UTC(2020,11))必须传入年份和月份,如果Data.UCT()参数传递错误,就会出现负值或者NaN,若要得到指定日期,将Data.UTC()传入Data构造方法中

4、通用方法

toLocaleString()(本地化格式2020-11-15 17:22:45)、toString()(默认调用) 、valueOf()(返回毫秒数)

5、日期格式化方法

toDateString()以特定格式显示星期几、月、日、年

toTimeString()以特定格式显示时、分、秒和时区

toLocaleDateString()以特定格式显示星期几、月、日、年

toLocaleTimeString()以特定格式显示时、分、秒和时区

toUTCString():以特定格式显示完整的UTC日期

6、组件方法

getTime():返回毫秒数。setTime(100):以毫秒设置日期,会改变整个日期

getFukkYear():获取4位年份。setFukkYear(2020):设置四位年份,返回毫秒数

getMouth():获取月份,没指定月份,从0开始算起.。getMouth(11):设置月份

getDate():获取日期。setDate(8):设置日期,返回毫秒数

getDay():返回星期几。0星期日,6星期六。setDay(2):设置星期几

getHours()、getMiutes()、getSeconds()获取时、分、秒,也可设置时分秒

getMilliseconds():获取毫秒数

getTimezoneOffset():返回本地时间和UTC时间相差的分钟数

七、正则表达式
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
八、基本包装类型

var box = 'Mr.Lee'; //基本类型
box.substring(2); //对象.方法(参数),这种写法是引用类型的,其是基本类型,但又是特殊的引用类型,因为可以调用系统内置的方法。但基本类型是无法给自己创建属性和方法的
var box  = new String('Mr.lee')  //引用类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
九、内置对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Math对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值