JavaScript高级四、高阶技巧

简介: JavaScript高级四、高阶技巧

1、深浅拷贝

首先浅拷贝和深拷贝只针对引用类型

(1)浅拷贝
浅拷贝:拷贝对象的属性的值(简单类型存的值就是值本身,引用类型存的值是对象的堆地址),所以如果拷贝的对象值中有引用类型属性,拷贝后的新对象属性和源对象属性指向同一个对地址,修改此指向的对象会相互影响。
常见方法:
拷贝对象:Object.assgin() 或者 展开运算符 {...obj}
拷贝数组:Array.prototype.concat() 或者 [...arr]

(2)深拷贝
深拷贝:拷贝对象属性的时候,遇到引用类型就创建一个新对象,然后递归,直至所有字段全部拷贝完成。
常见方法:
递归函数实现深拷贝
如果一个函数在内部可以调用其本身,那么这个函数就是递归函数
由于递归很容易发生“栈溢出”错误(stack overflow),所以必须要加退出条件 return
lodash.cloneDeep实现深拷贝
JSON.stringify实现深拷贝

2、异常处理
异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行
(1)throw 抛异常
throw 抛出异常信息,程序也会终止执行
throw 后面跟的是错误提示信息
Error 对象配合 throw 使用,能够设置更详细的错误信息

相关文章
|
5月前
|
前端开发 JavaScript
【面试题】JavaScript高级四、高阶技巧
【面试题】JavaScript高级四、高阶技巧
|
12月前
|
前端开发 JavaScript IDE
前端基础 - JavaScript高级应用(动态类型)
前端基础 - JavaScript高级应用(动态类型)
44 0
|
2月前
|
Web App开发 前端开发 JavaScript
[译] JavaScript ES2021 中激动人心的特性
[译] JavaScript ES2021 中激动人心的特性
|
2月前
|
存储 缓存 JavaScript
JavaScript——请列出目前主流的 JavaScript 模块化实现的技术有哪些?说出它们的区别?
JavaScript——请列出目前主流的 JavaScript 模块化实现的技术有哪些?说出它们的区别?
28 0
|
5月前
|
前端开发 JavaScript 数据处理
深入学习JavaScript ES8函数式编程:特性与实践指南
深入学习JavaScript ES8函数式编程:特性与实践指南
107 0
|
5月前
|
存储 JavaScript 前端开发
JavaScript中的类型、面向对象编程 深度解析
JavaScript中的类型、面向对象编程 深度解析
34 0
|
5月前
|
JavaScript 前端开发
JavaScript开发基础问题:请解释`this`关键字在JavaScript中的工作原理。
JavaScript开发基础问题:请解释`this`关键字在JavaScript中的工作原理。
62 0
|
12月前
|
前端开发 JavaScript Java
前端基础 - JavaScript高级应用(灵活的对象模型)
前端基础 - JavaScript高级应用(灵活的对象模型)
50 0
|
缓存 自然语言处理 前端开发
前端(十三)——JavaScript 闭包的奥秘与高级用法探索
前端(十三)——JavaScript 闭包的奥秘与高级用法探索
下一篇
无影云桌面