随笔分类 - JavaScript
摘要:1. websocket 由于http请求只能由客户端发起,所有当服务器资源有变化时,客户端只能通过轮询的方式,非常浪费资源。 websocket的特点: 服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。 建立在 TCP 协议之上,服
        阅读全文
            
摘要:一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 二、如何从外部读取局部变量? 出于种种原因,我们有时候需要得到函数内的局部变量。正常情况下,这是
        阅读全文
            
摘要:防抖 事件触发时,不要马上执行动作,而是设定一个延迟时间(这个时间很短,比如 500ms),在延迟时间内,再次触发事件,则重新计时。 典型的案例就是输入搜索:输入结束后n秒才进行搜索请求,n秒内又输入的内容,就重新计时。 function debounce(func, delay) { let ti
        阅读全文
            
摘要:JavaScript是单线程的编程语言,只能同一时间内做一件事。但是在遇到异步事件的时候,js线程并没有阻塞,还会继续执行,这就是因为JS有事件循环机制。 事件循环流程总结 主线程开始执行一段代码, 假设开始执行一个 script 标签内的代码,将代码放入执行栈中执行,同步代码优先执行,执行过程中,
        阅读全文
            
摘要:对于JavaScript来说,在ES6之前没有引入类的概念,所以创建实例是通过构造函数实现的。 在学习原型和原型链之前我们先要明白构造函数: 一、构造函数 1、什么是构造函数? 所谓构造函数,就是提供一个生成对象的模版,并描述对象的基本结构的函数。一个构造函数,可以生成多个对象,每个对象都有相同的结
        阅读全文
            
摘要:Web Components 是一套不同的技术,允许您创建可重用的定制元素(它们的功能封装在您的代码之外)并且在您的web应用中使用它们。 它由三项主要技术组成,它们可以一起使用来创建封装功能的定制元素,可以在你喜欢的任何地方重用,不必担心代码冲突。 Custom elements(自定义元素):一
        阅读全文
            
摘要:在实际工作或面试中,我们经常会遇到“数组去重”问题,接下来就是使用js实现的数组去重的多种方法: 1.借助ES6提供的Set结构 var arr = [1,1,2,2,3,3,4,4,5,5,4,3,2,1,1,1]; console.log(arr); //[1, 1, 2, 2, 3, 3, 4
        阅读全文
            
摘要:首先,用一句话解释this,就是:指向执行当前函数的对象。 当前执行,理解一下,也就是说this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定。this到底指向谁?this的最终指向的是那个调用它的对象(虽然在绝大多数情况下这样理解不会出问题,但实际上是不准确的)。 1.默认执行 例
        阅读全文
            
                    
                
浙公网安备 33010602011771号