![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
leslie_9527
这个作者很懒,什么都没留下…
展开
-
前端必会算法----排序算法
虽然说前端对于算法的要求不高,但是我个人认为对于简单的算法还是有必要知道的,至少在面试时就会经常会被问到,单单这一点就值得我们去学习一点了吧,还记得有一次面试时,面试官给了张纸和笔,让写个冒泡排序,当时在那提个笔愣是顿了半天。。。下面就简单的对于比较常见的排序算法进行一个实现。算法概述算法分类常见的算法可以分为两大类:算法复杂度相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度原创 2020-12-25 17:09:22 · 269 阅读 · 0 评论 -
彻底弄懂JS的深拷贝和浅拷贝
大家不管是在面试过程中,还是在实际的项目开发中一定都遇到过深拷贝和浅拷贝,但是对于这两种拷贝的区别可能不是太明白,所以记录一下。其实这两种拷贝的区别可以总结为一句话:浅拷贝是拷贝一层,深层次的对象级别的就拷贝引用;深拷贝是拷贝多层,每一级别的数据都会拷贝出来。浅拷贝第一种:遍历对象function simpleClone(initalObj) { let obj = {}; for ( let i in initalObj) { obj[i] = initalObj[i]; return原创 2020-12-21 18:12:53 · 253 阅读 · 2 评论 -
弄懂前端模块化,CommonJS,AMD,CMD及ES6模块化
前言之前一直对于前端的模块化理解的不太透彻,平常一直用的也只有ES6模块化,对于其他几种模块化规范用的也少,理解不够深,但是经常会见到一些面试题是问这几种模块化规范的区别,所以这次做一个整理总结一、对于模块化的理解什么是模块化?模块化开发是一种管理方式,是一种生产方式,一种解决问题的方案,一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块,但是模块开发需要遵循一定的规范,否则就都乱套了,因此,才有了后来大家熟悉的AMD规范,CMD规范,以及ES原创 2020-11-26 14:57:39 · 640 阅读 · 1 评论 -
HTTP与socket和HTTPS的区别 TCP和UDP的区别
HTTP与socket和HTTPS的区别http与socket的区别,两个协议哪个更高效一点?创建socket连接时,可以指定使用的传输层协议,socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该socket连接就是一个TCP连接。socket连接一旦建立,通信双方即可开始相互发送数据内容, 直到双方连接断开。注意,同HTTP不同的是http只能基于tcp,socket不仅能走tcp,而且还能走udp,这个是socket的第一个特点。HTTP连接使用的是“请求-响原创 2020-11-09 14:48:53 · 557 阅读 · 0 评论 -
快速实现防抖(debounce)、节流(throttle)函数
浅谈js防抖和节流在工作项目中我们肯定会遇到用户某个操作,会导致频繁触发我们的函数,其实这并不是我们想要的,而且从性能上讲也是不可取的,有的可能还会导致bug。常见的有页面的滚动条滑动,按钮的点击·····那么能不能通过某个操作降低这些函数的触发频率?这就要用到防抖和节流了防抖(debounce)所谓防抖,就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。节流(throttle)所谓节流,就是指连续触发事件但是在 n 秒中只执行一次函数。节流会原创 2020-11-12 10:12:09 · 1054 阅读 · 5 评论 -
JavaScript高级程序设计(第四版)学习笔记一
第一章:什么是JavaScript一、 JavaScript的实现虽然JavaScript和ECMAScript基本上是同义词,但是JavaScript远远不限于于 ECMA-262 所定义的那样。核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)二、ECMAScriptECMAScript是由ECMA-262定义的,ECMAScript与Web浏览器没有依赖关系,Web浏览器只是ECMAScript实现可能的宿主环境之一。其他宿主环境包括Node(一种Ja原创 2020-11-09 17:19:27 · 912 阅读 · 1 评论