JS基础知识复习(持续更新)

目录

一、认识编程语言及JavaScript

 二、变量

三、数据类型

1、为什么需要数据类型:

2、数据类型的分类(typeof 可以检测数据类型):

简单数据类型:

 复杂数据类型 object(后续介绍)

3、数据类型转换 

 转换成字符串:

转换为数字型:

转换成布尔值

四、运算符

五、流程控制

顺序结构

分支结构

if分支语句

if-else双分支语句

if else if多分支语句

三元表达式

 switch语句

循环结构

for循环(循环里的重点)

双层for循环

while循环

do while 循环

continue break关键字

六、JavaScript命名规范及语法格式(了解)

标识符命名规范

操作符及单行注释规范

七、数组

创建数组

利用new关键字创建数组(在对象后会详细讲解)

利用数组字面量创建数组

访问数组(索引)

遍历数组

数组应用常考点(冒泡排序)

八、函数 (重点)

声明函数

函数关键字自定义函数(命名函数)

函数表达式(匿名函数)

调用函数

 函数的参数

 函数形参和实参不匹配问题

 函数的返回值

 return语句

arguments的使用

 九、作用域

全局作用域

局部作用域

变量的作用域

作用域链

 十、预解析

 十一、对象(重点)

创建对象 

 对象字面量

变量、属性、函数、方法的区别

利用new Object创建对象

利用构造函数创建对象

构造函数和对象的联系和区别

new关键字

遍历对象(for in)

十二、内置对象

Math对象

Math绝对值和三个取整方法

Math随机数方法 random() 

Data对象 

日期格式化

获取日期的总的毫秒形式 

倒计时

十三、数组对象

创建数组的两种方法(复习)

检测是否为数组

添加或删除数组元素方法

数组排序 

获取数组元素索引方法

 数组转换成字符串

十四、字符串对象

字符串的不可变

根据字符返回位置

根据位置返回字符(重点)

替换字符串以及转换为数组 

十五、简单数据类型和复杂数据类型

简单类型传参

复杂数据类型


一、认识编程语言及JavaScript

1、JS不同与HTML,JS是一种编程语言,HTML是标记语言;JS和JAVA的区别,JS是解释语言(好比吃火锅,边吃边涮,同时进行),java是编译语言(首先所有的菜都做好,才能上桌吃饭)

2、编程语言:可以通过类似于人类语言的“语言”来控制计算机,让计算机为我们做很多事情,这样的语言就叫做编程语言。编程语言是用来控制计算机的一系列指令,它有固定的格式和词汇,必须遵守。

3、JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(不需要编译,运行过程中由js解释器运行解释)。

4、JS的作用:表单动态校验(最初的目的),网页特效,服务端开发(Node.js),桌面程序(Electron),App(Cordova),控制硬件-物联网(Ruff),游戏开发(cocos2d-js)。

5、HTML/CSS/JS的关系:html决定网页结构和内容(决定看到什么),相当于人的身体。css决定网页呈现给用户的模样(决定好不好看),相当于给人穿衣服、化妆。JS实现业务逻辑和页面控制(决定功能),相当于人的各种动作。

6、浏览器本身并不会执行JS代码,而是通过JS引擎来执行JS代码。JS引擎执行代码时是逐行解释每一句源码,然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐行解释执行

7、JS的组成:ECMAScript(JavaScript语法)、DOM(页面文档对象模型)、BOM(浏览器对象模型)

8、JS的三种书写位置

  1. 行内式的js 直接写到元素的内部
  2. 内嵌式的js(alert代表弹出一个对话框)                     
  3. 外部js script双标签(适合代码量比较大的情况)

9、JS注释

  1. 单行注释 ctrl+/
  2. 多行注释  默认的快捷键 shift+alt+a(由于我们的快捷键习惯 在vscode中可把它修改成ctrl+shift+/) 设置-->键盘快捷方式

10、JS输入输出语句

  • prompt(info)   浏览器弹出输入框,用户可以输入
  • alert(msg)  浏览器弹出警示框
  • console.log(msg) 浏览器控制台打印输出信息(给程序员看的) 

 二、变量

1、变量:用于存放数据的容器。我们可以通过变量名获取数据,甚至修改数据(白话:变量就是一个装东西的盒子)

2、为了能够我们方便去找到某一个变量,我们需要给它起个名字-----变量名。

3、变量的使用(这里我们就不把声明变量和赋值展开写了):

  1. var 变量名 = 赋值;    //这步叫变量的初始化  例:var num = 18;  注意这个等于号和数学里的等于不一样 我们译为把18给num
  2. console.log(变量名)     //输出结果

4、更新变量:一个变量被重新赋值后,它原有的值会被覆盖,变量值将以最后一次赋的值为准。

5、声明变量的特殊情况: 

  • 只声明不赋值  (结果为undefined)
  • 不声明不赋值(直接使用某个变量会报错)
  • 不声明直接赋值 (可以正常输出 但不建议使用)

 6、变量命名规范(和c语言一样,这里不在多加说明)

三、数据类型

1、为什么需要数据类型:

为了充分利用存储空间。在计算机中,不同的数据所需占用的存储空间是不同的。(在我们js中,只有程序运行过程中,根据等号右边的值来自动确定。另js拥有动态类型,故相同的变量可作不同的类型)

2、数据类型的分类(typeof 可以检测数据类型):

简单数据类型:

  • Number(数字型 包括整型值和浮点型)最大值:Number.MAX_VALUE 最小:Number.MIN_VALUE  无穷大:infinity  无穷小:-infinity 非数值:NaN                                  我们可以利用isNaN()这个方法来判断非数字
  • String(字符串型 如'可可',要带引号)                                                                                      字符串转义符:\n(换行)  \\(斜杠\)  \'(单引号') \''(双引号'') \t(tab缩进) \b(空格)
  • Boolean(布尔值 如true和false) true在运算中当1看 false当0看
  • Undefined
  • Null(声明了变量为空值 例:var a = null;)

 复杂数据类型 object(后续介绍)

3、数据类型转换 

 转换成字符串:

  • 变量.tostring()
  • String(变量)      强制转换
  • 加号拼接字符串

 

转换为数字型:

  • parseInt(string) 函数  将string类型转换为整数数值型
  • parseFloat(string)函数   将string类型转成浮点数值型
  • Number()强制转换函数   将string类型转成数值型
  • js隐式转换(- * /)  利用算术运算隐式转换成数值型

转换成布尔值

代表空、否定的值都会转换成false,如' ',0,NaN,null,underfined;其余值都会转为true(不做演示)

四、运算符

运算符是用于实现赋值、比较和执行算数运算等功能的符号

  • 算式运算符 +(加)-(减)*(乘) /(除)%(取余数)需要注意的是:浮点数在算数运算里会有问题 不能直接拿浮点数来进行相比较是否相等
  • 递增和递减运算符 --(递减)++(递增)必须配合变量使用                                                   前置递增(写在变量的前面)++num类似于num = num + 1                                                       后置递增(先表达式返回原值,后自加1) num++ 类似于 num = num + 1                                           单独使用时效果一样的 递减同理
  • 比较运算符 <(小于)>(大于)>=(大于等于)<=(小于等于)==(判等号 会转型)!=(不等号)===(全等 要求值和数据类型都一致)!==
  • 逻辑运算符 &&(逻辑与 简称与:一个为假就是false) ||(逻辑或 简称或:一个为真就是true) !(逻辑非 简称非)                                                                                                           逻辑与短路运算:如果表达式1 结果为真 如果表达式1为假 那么返回表达式1                           逻辑或短路运算:如果表达式1 结果为真 则返回表达式1 如果表达式1为假 则返回表达式2
  • 赋值运算符 =(直接赋值) += 、-=(加、减一个数后在赋值)*=、/=、%=(乘、除、取模后在赋值)          
  • 运算符优先级    小括号()一元运算符++ -- ! 算数运算符 先*/%后+- 关系运算符> >= < <=相等运算符 == != === !== 逻辑运算符 先&&后|| 赋值运算符 = 逗号运算符, 

五、流程控制

流程控制就是来控制我们的代码按照什么顺序去执行

顺序结构

顾名思义,程序会按照代码的先后顺序,依次执行

分支结构

在从上到下的执行过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果

if分支语句

语法结构: if(条件表达式){

           //执行语句

}

执行思路:如果if里面的条件表达式结果为真true ,则执行大括号里面的执行语句,如果if表达式结果为假,则不执行大括号里面的语句,则执行if语句后面的代码

if-else双分支语句

语法结构:if(条件表达式){

           //执行语句1

}else{

//执行语句2

}

执行思路:如果表达式结果为真,则执行语句1,否则 执行语句2(比起switch语句,它较为灵活,常用于判断范围,当分支比较少时,执行效率较高

if else if多分支语句

就是利用多个条件来选择不同的语句执行 得到不同的结果 多选一的过程

语法结构:if(条件表达式1){

           //执行语句1

}else if(条件表达式2){

          //执行语句2

}else if(条件表达式3){

         //执行语句3

}else{

        //最后的语句

}
执行思路:如果条件表达式1满足就执行语句1,执行完毕后,退出整个if分支语句;如果表达式1不满足,则判断条件表达式2,满足的话,执行语句2,以此类推。如果条件表达式都不满足,则执行else里面的语句(注:多分支语句还是多选一,最终只有一条语句执行;else if里面的条件是可以任意多个的)

三元表达式

有三元运算符组成的式子我们称为三元表达式

语法结构: 条件表达式 ? 表达式1 : 表达式2

执行思路:如果条件表达式为真,则执行表达式1,否则执行表达式2

 switch语句

它基于不同的条件来执行不同的代码,当要针对变量设置一系列的特定值的选项时,就可以用switch。

语法结构: switch(表达式){

                              case values1:

                                    执行语句1;

                                           break;

                                case values2:

                                     执行语句2;

                                            break;

                                 ……

                                default:

                                   执行最后的语句;

}

执行思路:利用我们的表达式的值和case后面的选项值相匹配,如果匹配上,就执行该case里面的语句,如果都没有匹配上,那么执行default里面的语句。(注:表达式里经常放变量,表达式的值和case里面的值要全等的时候才能匹配,case后一定要放break)

循环结构

目的:可以重复执行某些代码

for循环(循环里的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值