ES5语句

一,block语句

  block块语句,用一对花括号表示{}.

 在ES5中,没有块级作用域

for(var i=0;i<5;i++){
    ....
}
中,变量i其实是一个全局变量,不是在本次循环中才访问得到。

但是在ES6增加了let语句,用来声明一个块级变量,作用于let所在的代码块

下面再详细说明var声明和let声明的区别

二,var声明语句

  var语句用于声明一个变量。

  但是存在几个坑:

1.在函数作用域中声明像这样
function fn(){
   var a = b = 1;
}
相当于隐式声明了一个全局变量b。
2.存在变量提升
就是一个变量a未声明之前就调用的话,会发现a的值为 undefined ,不会发生错误

与let声明的区别:

1.不存在变量提升。ES6规定,凡是用let或const声明的变量,就会绑定在所在的作用域中,凡是在声明之前使用它,都会报错。
三,try catch语句

    try-catch语句主要是用来捕获错误的。

   

try{
  ...
}catch(ex){
  ...
}finally{
  ...
},ex表示错误
这是该语句的正常结构。
当然也有变种,可以是try后面必须跟一个,可以是catch或finally。
甚至,还可以嵌套

嵌套是有两种情况要注意,

1.try{
    try{
      throw new Error('oops');
    }finally{
    console.log('finally');
    }
  }catch(ex){
    console.error('outer',ex.message);		           
  }    会输出//'outer','oops'  然后才是'finally'
2.try{
    try{
      throw new Error('oops')
    }catch(ex){
       console.log('outer',ex.message)
       throw new Error('opps2')
     }finally{
       console.log('finally')
     }
}catch(ex){
   console.log('inside',ex.message)
 }

这种情况,会输出
//outer 
//opps
//finally
//inside

try-catch语句不管真假,判断真假应该用if语句。

可以用来处理浏览器的兼容性。

四,for in语句
for in语句常用来遍历对象的属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值