JavaScript基础(五)js中常见错误类型及解决、ES6介绍

简介: JavaScript基础(五)js中常见错误类型及解决、ES6介绍

一、JS中常见错误以及错误处理

1.SyntaxError:语法错误


       代码编写不符合规范,例如出现了中文符号、缺少括号等(出错后整体代码不再运行)。


2.ReferenceError:引用错误


       使用了未声明的变量(影响之后的代码执行)。


3.TypeError:类型错误


       当前调用的方法或函数不是一个函数形式(影响之后的代码执行)。


4.自定义错误:程序员自己指定的错误    


       格式:throw  错误内容(影响之后的代码执行)。


处理方式:


try{
      //可能会产生错误的代码
}catch(err){
      //try中出现错误才会执行
      //将错误信息保存到err中
      //执行错误处理
}

举例如下:


var age = 98;
if (age < 18 || age > 60){
  throw '非法的年龄';//抛出错误
}
//错误处理:出现错误后不再影响后续代码
try{
  //可能会产生错误的代码
}catch(err){
  //try中出现错误才会执行
  //将错误信息保存到err中
}

二、ES6

       ES6全称ECMAScript6,是js第六套标准规范,提供了更多且更为强大的功能,使得JavaScript编程语言更为完善。以下介绍一些相关概念:


1. 块级作用域


       大括号之间的语句块例如if else语句、while语句、for循环等带之间的语句。块级作用域下let和const声明都是局部的,外部无法访问,可防止全局污染


2. 参数增强


       参数增强简单说就是为参数设置默认值,在参数没有赋值时用默认值代替。格式如下:


function(a,b,c = 0){    //es6设置默认值方法为在形参处赋值
      b = b || 0;  //此处为es6之前设置默认值的方式
}

3. 箭头函数


       简化了匿名函数的写法,但不等价于匿名函数,格式:( ) => { 函数体 }。

function sort(a,b){
    return a - b;
}
//简化后
sort(a,b) => {
     return a - b;
});

4. 模板字符串


       解决了字符串的拼接问题 ,格式:` 模板字符串 ${ JS表达式 }  `

let title = '联想拯救者';
let price = 6699;
let isOnsale = '1';
console.log( `
     标题:${title}
     价格:${price.toFixed(2)}
     是否在售:${isOnsale ? '是' : '否'}
 ` );
相关文章
|
9月前
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
552 24
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
269 32
|
11月前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
JavaScript 前端开发 网络架构
ES6解构赋值详解;全面掌握:JavaScript解构赋值的终极指南
解构赋值是一个强大且灵活的工具,它使得从数组和对象中提取数据变得更加简单和直观。通过掌握解构赋值的基本语法和实践,你可以写出更加简洁、可读性更强的代码。在实际项目中,解构赋值广泛应用于函数参数处理、变量交换、嵌套结构操作等场景,极大地提升了代码的灵活性和简洁度。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
244 3
springboot解决js前端跨域问题,javascript跨域问题解决
|
JavaScript 前端开发
【JavaScript】——JS基础入门常见操作(大量举例)
JS引入方式,JS基础语法,JS增删查改,JS函数,JS对象
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
JavaScript 前端开发 安全
ECMAScript 6(以下简称 ES6)的出现为 JavaScript 带来了许多新的特性和改进,其中 let 和 const 是两个非常重要的关键字。
ES6 引入了 `let` 和 `const` 关键字,为 JavaScript 的变量管理带来了革新。`let` 提供了块级作用域和暂存死区特性,避免变量污染,增强代码可读性和安全性;`const` 用于声明不可重新赋值的常量,但允许对象和数组的内部修改。两者在循环、函数内部及复杂项目中广泛应用,有助于实现不可变数据结构,提升代码质量。
212 5