附录4-JS关键字

目录

1  声明类

1.1  var

1.2  new

1.3  function

1.4  let

1.4.1  let不能在同一作用域下重复声明

1.4.2  let无法进行变量提升

1.5  const

2  判断类

2.1  if

2.2  else

2.3  判断的嵌套

2.4  switch,case,default

2.4.1  需要注意的点

3  循环类

3.1  for

3.1.1  循环条件可以接变量

3.1.2  for...in...

3.2  while

3.3  do

3.4  continue

3.5  break

4  容错类 try catch finally

4.1  try catch

4.2  try finally

4.3  try catch finally

5  函数类

5.1  return


1  声明类

1.1  var

附录4-JS关键字_第1张图片

附录4-JS关键字_第2张图片

使用var只能让函数内部使用它,而无法网页中所有部分都使用它,作用域问题可以看一下这个 12.作用域_Suyuoa的博客-CSDN博客

1.2  new

创建数组,对象

附录4-JS关键字_第3张图片

数组的使用方式可以看一下这个 10. 数组 Array_Suyuoa的博客-CSDN博客

对象的使用方式可以看一下这个 14. 对象_Suyuoa的博客-CSDN博客

1.3  function

function是声明函数用的

附录4-JS关键字_第4张图片

附录4-JS关键字_第5张图片

函数的具体使用方法可以看一下这个 11. 函数_Suyuoa的博客-CSDN博客

1.4  let

let也是定义变量用了,与var有下面这些区别

1.4.1  let不能在同一作用域下重复声明

作用域问题可以看一下这个 12.作用域_Suyuoa的博客-CSDN博客

我们先看var

正常

附录4-JS关键字_第6张图片

再看let

发现不行,告诉你变量已经被声明过了

使用var也不行,使用let后 在同一作用域内 不许再次声明该变量

但是你不加关键字直接定义是可以的

附录4-JS关键字_第7张图片

1.4.2  let无法进行变量提升

变量提升有问题可以看一下这个 13.预解析_Suyuoa的博客-CSDN博客

我们先看var

发现没有报错

附录4-JS关键字_第8张图片

再看let

发现报错了

附录4-JS关键字_第9张图片

1.5  const

const与let相似,区别是const一旦定义就不能用 非const关键字 修改

先看let

附录4-JS关键字_第10张图片

再看const

附录4-JS关键字_第11张图片

发现报错了,理由是断言这个一个恒定的变量

2  判断类

2.1  if

if后面的括号加表达式的内容,大括号中加入 条件为true 时要运行的代码

附录4-JS关键字_第12张图片

经测试如果我们将a的值设置为0,则不会弹出警告框

2.2  else

和if配合使用,我们现在将a的值设置为0,并加入else语句

附录4-JS关键字_第13张图片

附录4-JS关键字_第14张图片

else后可以跟一个if

附录4-JS关键字_第15张图片

附录4-JS关键字_第16张图片

在一个判断中可以有多个跟if的else

附录4-JS关键字_第17张图片

当if或else if判断结果为真的时候就会停止判断

附录4-JS关键字_第18张图片

我们发现这两个分支,只走了第一个

2.3  判断的嵌套

if,else if,else都是可以嵌套的

附录4-JS关键字_第19张图片

附录4-JS关键字_第20张图片

附录4-JS关键字_第21张图片

else if 与 else 我就不举例了

2.4  switch,case,default

这三个关键字是配合使用的

附录4-JS关键字_第22张图片

switch后接表达式

case后接表达式的值,如果是这个值就执行冒号后的命令

default是在前面若干条件都不成立的情况下的默认值,可以不写

上面的代码执行结果是这样的

我现在将a设置为2

附录4-JS关键字_第23张图片

发现第一个条件没有满足,所以没有执行结果为0的分支

通过上面两个例子我们发现,使用switch判断只要看到有一个条件满足后,下面无论满不满足都会被执行

如果我们想让其判断只走一个分支,我们需要在每一个case中加入break

  • break会让这一组判断结束,后面会讲

附录4-JS关键字_第24张图片

这样我们发现就只执行了匹配的分支

2.4.1  需要注意的点

  • 一般我们在switch中只接变量,所以我们一般这样写

附录4-JS关键字_第25张图片

  • case后面的值与表达式的结果是全等的关系,如果类型不同也不会执行分支语句,比如我现在这样改

附录4-JS关键字_第26张图片

我们发现它并没有走 case '1' 这条路线,而是走的default

  • switch在判断的时候是并行判断,判断后按顺序执行。if else是按顺序判断然后按顺序执行。所以当分支较多时,switch的运行速度要比if else高一些。但正因为是并行处理,当分支较少时,if else的运行速度要比switch高(if判断通过了一个后面就不再判断了)

3  循环类

我们使用循环的时候很可能出现一些问题,导致语句循环次数过多(几万次甚至几十万次),这个时候请立即点击这里关闭选项卡

如果点关闭选项卡已经关不上了,可以立即结束浏览器进程,windows可以通过任务管理器关闭,linux可以通过kill关闭

如果还是不行,可以立即将机器断电从而保护硬件

3.1  for

基本使用方法是这样的

for的后面接三个必填参数,依次是

  • i = 0 初始化变量,通常与后面的循环条件与操作表达式配合
  • i<=3 循环条件,不一定要不要使用的变量一致
  • i++ 操作表达式,我们一般当作步长使用。比如上面用的i++,就是每循环一次自加1,我们也可以自加2,自加3或进行其他计算。但由于for中是可以嵌套if的,所以我们基本所有循环都会使用i++
  • 大括号内是执行语句,我们会循环执行语句若干次

它的执行顺序是这样的

附录4-JS关键字_第27张图片

需要注意i++是最后执行的语句,也就是说在上面代码循环结束的时候,i为4,我们打印出来看一下

3.1.1  循环条件可以接变量

我们现在让用户定义 i循环到几

附录4-JS关键字_第28张图片

让其循环到5

附录4-JS关键字_第29张图片

附录4-JS关键字_第30张图片

3.1.2  for...in...

可用于对象与数组

附录4-JS关键字_第31张图片

这里的i是索引

附录4-JS关键字_第32张图片

我们可以通过索引找到数组中的内容

附录4-JS关键字_第33张图片

这样就能得到数组中的值了

下面使用for in 搞一下对象

附录4-JS关键字_第34张图片

这里的i是key

附录4-JS关键字_第35张图片

我们可以通过key找到value

附录4-JS关键字_第36张图片

附录4-JS关键字_第37张图片

3.2  while

基本使用方式是这样的

附录4-JS关键字_第38张图片

while后的小括号接循环条件,大括号接循环内容

3.3  do

do一般配合while使用,基本使用方法是这样的

附录4-JS关键字_第39张图片

do中加循环体,while后接循环条件

do会先执行一次循环体,再进行循环条件判定,如果判定为真则继续执行循环体

附录4-JS关键字_第40张图片

也就是说我这个改成一个false条件,它也会执行一次

附录4-JS关键字_第41张图片

3.4  continue

立即跳出本次循环,继续下一次循环,基本使用方式是这样的

附录4-JS关键字_第42张图片

我们发现结果中是没有3的,也就是说3的那一轮被跳过了,执行完continue,无论下面有什么语句都不执行了

附录4-JS关键字_第43张图片

3.5  break

立即跳出所有循环

附录4-JS关键字_第44张图片

我们在3这里加入break

发现循环走到3之后就不走了

也可以配合别的关键字使用(while,switch),含义是退出该轮所有内容执行

4  容错类 try catch finally

try catch finally是不能单独使用的,这三个关键字的逻辑是这样的

附录4-JS关键字_第45张图片

我们下面简单看一下

4.1  try catch

附录4-JS关键字_第46张图片

如果你给catch一个参数,你可以把错误信息拿出来

也可以不管错误信息直接执行别的

附录4-JS关键字_第47张图片

如果没报错就不会执行catch语句

附录4-JS关键字_第48张图片

附录4-JS关键字_第49张图片

4.2  try finally

如果不报错就都会执行

附录4-JS关键字_第50张图片

附录4-JS关键字_第51张图片

即使报错也会执行finally语句,但是没有catch错误就遮不掉了

附录4-JS关键字_第52张图片

附录4-JS关键字_第53张图片

4.3  try catch finally

没报错时会执行try与finally语句

附录4-JS关键字_第54张图片

附录4-JS关键字_第55张图片

报错时会执行catch,finally语句

附录4-JS关键字_第56张图片

附录4-JS关键字_第57张图片

5  函数类

5.1  return

定义函数不加return是这样的

附录4-JS关键字_第58张图片

附录4-JS关键字_第59张图片

加了return是这样的

附录4-JS关键字_第60张图片

附录4-JS关键字_第61张图片

你可能感兴趣的:(JavaScript笔记,javascript)