黑马程序员Pink的javaScript课程js进阶day4
这篇文章简要介绍了JavaScript中的关键概念,包括:浅拷贝和深拷贝的实现方法(Object.assign、递归、JSON.stringify等);异常处理(throw/try-catch);this的指向规则(普通函数与箭头函数);改变this指向的方法(call/apply/bind);以及防抖和节流的概念、实现和应用场景。文章还提到了一些实用工具如lodash库中的_.debounce和
·
1.浅拷贝
浅拷贝和深拷贝只针对拷贝类型


拷贝对象:Object.assign()/展开运算符{...obj}拷贝对象
拷贝数组: Array.prototype.concat() 或者 [...arr]







2.深拷贝

通过递归来实现深拷贝



利用递归函数实现setTimeout模拟setInterval效果




简单数据类型的拷贝


采用递归对复杂数据进行处理




使用js库中的cloneDeep内部实现深拷贝







使用JSON.stringify()实现深拷贝



3.异常处理

throw抛异常(throw new Error 会终止程序)



try/catch捕获错误信息



debugger


4.普通函数和箭头函数的this

普通函数的this指向



箭头函数的this指向









5.call方法改变this指向



6.apply方法





7.bind方法









8.防抖以及底层实现





lodash提供防抖函数_.debounce来处理






手写防抖函数






9.节流以及底层实现


lodash提供的_.throttle函数



手写节流函数




10.节流综合案例





魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)