目录
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
使用var只能让函数内部使用它,而无法网页中所有部分都使用它,作用域问题可以看一下这个 12.作用域_Suyuoa的博客-CSDN博客
创建数组,对象
数组的使用方式可以看一下这个 10. 数组 Array_Suyuoa的博客-CSDN博客
对象的使用方式可以看一下这个 14. 对象_Suyuoa的博客-CSDN博客
function是声明函数用的
函数的具体使用方法可以看一下这个 11. 函数_Suyuoa的博客-CSDN博客
let也是定义变量用了,与var有下面这些区别
作用域问题可以看一下这个 12.作用域_Suyuoa的博客-CSDN博客
我们先看var
正常
再看let
发现不行,告诉你变量已经被声明过了
使用var也不行,使用let后 在同一作用域内 不许再次声明该变量
但是你不加关键字直接定义是可以的
变量提升有问题可以看一下这个 13.预解析_Suyuoa的博客-CSDN博客
我们先看var
发现没有报错
再看let
发现报错了
const与let相似,区别是const一旦定义就不能用 非const关键字 修改
先看let
再看const
发现报错了,理由是断言这个一个恒定的变量
if后面的括号加表达式的内容,大括号中加入 条件为true 时要运行的代码
经测试如果我们将a的值设置为0,则不会弹出警告框
和if配合使用,我们现在将a的值设置为0,并加入else语句
else后可以跟一个if
在一个判断中可以有多个跟if的else
当if或else if判断结果为真的时候就会停止判断
我们发现这两个分支,只走了第一个
if,else if,else都是可以嵌套的
else if 与 else 我就不举例了
这三个关键字是配合使用的
switch后接表达式
case后接表达式的值,如果是这个值就执行冒号后的命令
default是在前面若干条件都不成立的情况下的默认值,可以不写
上面的代码执行结果是这样的
我现在将a设置为2
发现第一个条件没有满足,所以没有执行结果为0的分支
通过上面两个例子我们发现,使用switch判断只要看到有一个条件满足后,下面无论满不满足都会被执行
如果我们想让其判断只走一个分支,我们需要在每一个case中加入break
这样我们发现就只执行了匹配的分支
我们发现它并没有走 case '1' 这条路线,而是走的default
我们使用循环的时候很可能出现一些问题,导致语句循环次数过多(几万次甚至几十万次),这个时候请立即点击这里关闭选项卡
如果点关闭选项卡已经关不上了,可以立即结束浏览器进程,windows可以通过任务管理器关闭,linux可以通过kill关闭
如果还是不行,可以立即将机器断电从而保护硬件
基本使用方法是这样的
for的后面接三个必填参数,依次是
它的执行顺序是这样的
需要注意i++是最后执行的语句,也就是说在上面代码循环结束的时候,i为4,我们打印出来看一下
我们现在让用户定义 i循环到几
让其循环到5
可用于对象与数组
这里的i是索引
我们可以通过索引找到数组中的内容
这样就能得到数组中的值了
下面使用for in 搞一下对象
这里的i是key
我们可以通过key找到value
基本使用方式是这样的
while后的小括号接循环条件,大括号接循环内容
do一般配合while使用,基本使用方法是这样的
do中加循环体,while后接循环条件
do会先执行一次循环体,再进行循环条件判定,如果判定为真则继续执行循环体
也就是说我这个改成一个false条件,它也会执行一次
立即跳出本次循环,继续下一次循环,基本使用方式是这样的
我们发现结果中是没有3的,也就是说3的那一轮被跳过了,执行完continue,无论下面有什么语句都不执行了
立即跳出所有循环
我们在3这里加入break
发现循环走到3之后就不走了
也可以配合别的关键字使用(while,switch),含义是退出该轮所有内容执行
try catch finally是不能单独使用的,这三个关键字的逻辑是这样的
我们下面简单看一下
如果你给catch一个参数,你可以把错误信息拿出来
也可以不管错误信息直接执行别的
如果没报错就不会执行catch语句
如果不报错就都会执行
即使报错也会执行finally语句,但是没有catch错误就遮不掉了
没报错时会执行try与finally语句
报错时会执行catch,finally语句
定义函数不加return是这样的
加了return是这样的