JS_9.错误处理&ES6新特性

1 错误处理

1.1 错误处理定义

异常/错误:程序中的非正常运行状态。解释器为每个错误情形创建并抛出Error对象,包含错误的描述信息。
ES定义了六种类型的错误,也可以使用Error构造方法自定义Error对象,使用throw语句抛出该对象。
SyntaxError:语法错误,未通过编译前检查;程序不编译
ReferenceError:引用错误,使用不存在的变量;报错后阻止后续代码执行
TypeError:类型错误,错误的调用其它数据类型的方法属性;报错后阻止后续代码执行
RangeError:范围错误,参数越界;报错后阻止后续代码执行
EvalError:
URIError:URI相关函数的参数不正确时抛出的错误
使用JS提供的异常处理语句,可以用结构化的方式来捕捉发生的错误,实现异常处理代码与核心业务代码的分离,使能集中精力编写主业务功能代码;

1.2 Error对象

Error对象用于封装异常的相关描述信息
成员属性:
message封装异常的描述信息;
name封装异常的类型名称;
stack非标准属性,只有部分浏览器支持,用于返回错误或异常的代码跟踪信息
成员方法:
toString()返回包含相关错误信息的字符串

1.3 try/catch

ECMAScript使用try… catch…finally…结构来执行异常处理功能,捕捉由系统生成或程序创建并抛出的Error对象,处理错误情形;
try {
//主业务功能代码
} catch(error) {
//代码负责处理主业务功能代码抛出的错误,仅当主代码发生错误时才执行
} [finally {
//出口语句,不论错误发生与否都要执行
}]

2 ES6新特性-1

2.1 ES6概述

ES6是JavaScript语言的下一代标准,2015年6月正式发布,使得JS语言可以编写复杂的大型应用程序,成为企业级开发语言;
ES6是泛称,含义是5.1版以后的JS标准,涵盖ES2016、ES2017等

2.2 ES6常用新特性

2.2.1 块作用域

ES6中变量作用于分为三种:局部作用域、全局作用域、块级作用域(只能在当前块内使用),{…}/for/while/do…while{}都是块级作用域
for (let i=0; i<10; i++) console.log(i);
//用let声明变量,在块内正常执行,外部不能调用;

2.2.2 箭头函数

箭头函数:简化匿名回调函数的编写
setInterval( ()=>{console.log(’…’);}, 1000)
如果只有一行代码,可以省略{}和return
arr.sort( (a,b)=>a-b );

2.2.3 参数增强

默认值:ES6允许为函数的参数列表末尾的参数变量预先定义默认值
传递的实参个数如果少于形参,则该形参的值为undefined,所以允许为形参设置默认值;

2.2.4 模板字符串

1.单行语句使用一对单引号或者双引号;
多行语句可以使用一对反引号``来指示;
2.使用${}在字符串内嵌JavaScript变量,使用一对反引号来指示字符串,可以方便地实现字符串拼接
var info = `单价:${price}, … , `;
3.原始字符串:ES6为了避免字符串中转义字符与路径,正则等规则出现歧义,引入原始字符串
console.log(String.raw c:\...\...//);

猜你喜欢

转载自blog.csdn.net/qq_33392141/article/details/83997323