JS中语句使用的注意事项

 语句

定义

  JS中的整句或命令,用来执行以使某件事件发生

主要内容

1.  结尾

Js中语句以分号(;)结尾;

2.  执行方式

默认情况下,JS解释器按照语句的编写顺序依次执行;但可通过控制语句改变执行次序;

3.  作用域

JS中没有块级作用域,在语句块中的声明的变量并不是语句块私有的。JS中变量作用域为函数作级的,即只在对应的函数内有定义且局部变量优先级高于全局变量。

4.  声明语句

JS中用var来声明变量,function来声明函数。函数声明语句通常出现在JS的最顶层,也可以嵌套在其他函数体内,但嵌套时函数声明只能出现在所嵌套函数的顶部。

5.  控制语句

控制语句有if/else 、for、while、do/while等用法基本与JAVA、C相似。

6.  其他语句

with语句 严格形式下不容许使用且难以进行代码优化,在开发中最好不使用。

debugger语句 用语调试

“use strict” 用语设定是否严格模式

7.  异常处理

异常是当发生了某种异常情况或错误时产生的一个信号。抛出异常通知发生了,就是用信号通知发生了错误或异常状况。捕获异常时指处理这个信号,即采取必要的手段从异常中恢复。在JS中,当产生运行错误或者程序使用throw语句时就会显示地抛出异常。使用try/catch/finally语句可以捕获异常。

throw语句的语法如下:

      throw expression

expression的值可以是任意类型的。可以抛出一个代表错误码的数字,或包含可读的错误消息的字符串。当JS解释器抛出异常的时候通常采用error类型和其子类型。一个error对象有一个name属性表示错误类型,一个message属性用来存放传递给构造函数的字符串。

try/catch/finally语句使JS得异常处理机制。其中try从句定义了需要处理的异常所在的代码块。catch从句跟随在try从句之后,当try块内某处发生了异常时,调用catch内的代码逻辑。catch从句后跟随finally从句,finally中放置清理代码,不管try块中是否产生异常,finally块内的逻辑总会执行。try从句至少与catch、finally中的一个组合才能使用。try、catch、finally语句块都需要使用花括号,即使一条语句也需要。

try{

   //通常来说,这里的代码会从头执行到尾而不产生任何问题

   //但是有时会抛出一个异常,要么由throw语句直接抛出异常

   //要么是通过调用一个方法间接抛出异常

}catch(e){

   //当且仅当try语句块抛出了异常,才会执行这里的代码

  //这里可以通过局部变量e来获得对error对象或抛出的其他值得引用

  //这里的代码块可以基于某种原因处理这个异常,也可以忽略这个异常

  //还可以通过throw语句重新抛出异常

}finally{

  //不管try语句块是否抛出了异常,这里的逻辑总会执行,终止try语句块的方式有:

  //正常终止,执行完语句块的最后一条语句

  //通过break、continue或return语句终止

  //抛出一个异常,异常被catch从句捕获

  //抛出一个异常,异常未被捕获继续向上传播

}

finally拾遗

1.  不管try语句块中代码执行完成了多少,只要try语句中有一部分代码执行了,finally从句就会执行。它通常在try从句的代码后用于清理工作。

2.  当由于return、continue、break语句使得解释器跳出try语句块时,解释器在执行新代码之前先执行finally块中的逻辑。

3.  如果在try中产生了异常,而且存在一条与之相关的catch从句来处理这个异常,解释器首先会执行catch中的逻辑,然后执行finally中的逻辑。如果不存在处理异常的局部catch从句,解释器会首先执行finally中的逻辑,然后向上传播这个异常,直到找到能处理这个异常的catch从句。

4.  如果finally块中使用了return、continue、break、或者throw语句使程序发生跳转、或者通过调用了抛出异常的方法改变了程序执行流程,不管这个跳转使程序挂起还是继续执行,解释器都会将其忽略

5.   在没有catch从句的情况下try从句可以和finally从句一起使用。在这种情况下finally块只包含清理代码,不管try块中是否有break、continue、return语句这里的代码一定会执行。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值