随笔分类 -  javascript理论进阶

摘要:websocket 是什么? websocket 是一种通信协议,只需一次http握手就可以建立持久连接,并且能进客户端与服务端行双向通信,它允许服务端主动给客户端推送消息。 websocket 如何建立? websocket 是现代浏览器的一个内置对象,通过一个构造函数 new Websocket 阅读全文
posted @ 2022-10-09 11:27 尼古拉斯-富贵 阅读(1240) 评论(0) 推荐(0) 编辑
摘要:XSS是什么? XSS攻击又称 跨站脚本攻击。 定义:攻击者给前端页面植入一段恶意代码,欺骗用户操作发送到服务器,服务器返回到前端,浏览器解析之后能被执行,从而获取用户信息,以及冒充用户向服务器发起请求。 如何防御? 1、把用户端提交的信息中保护特殊字符进行转义, 如: 例如下面这段代码就会被浏览器 阅读全文
posted @ 2022-10-08 21:19 尼古拉斯-富贵 阅读(94) 评论(0) 推荐(0) 编辑
摘要:是什么? 浏览器解析的DOM树和CSSOM树,接着对DOM树进行遍历,拿到DOM节点,然后再从CSSDOM树中拿到相应节点的样式,最后生成渲染树。 回流:渲染树生成之后,每个节点元素的具体位置、大小的计算,然后渲染在浏览器,这个过程就叫回流 重绘:每个节点元素的像素点渲染在浏览器的过程就叫重绘(如背 阅读全文
posted @ 2022-10-07 13:02 尼古拉斯-富贵 阅读(59) 评论(0) 推荐(0) 编辑
摘要:先来看一张图,整的明明白白 简单地说: 宏任务:针对浏览器/node所发起的任务 微任务:JS函数回调(异步函数) 执行顺序:微任务 > 宏任务 再看一段代码 代码解读: JS代码是单线程,从上至下执行 1、setTimeout 是一个宏任务定时器跳过,等50ms后执行 2、new Promise 阅读全文
posted @ 2022-10-05 18:23 尼古拉斯-富贵 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一、什么是http缓存 http缓存就是在浏览器从服务端请求的资源,通过缓存规则保存在浏览器本地,二次请求的时候不再从服务端获取 而是直接从本地获取缓存资源,降低了 服务器压力,提升了加载速度 二、缓存规则 1、强制缓存 首次请求服务端资源时,服务端会在Response Headers 中写入缓存时 阅读全文
posted @ 2021-11-26 14:37 尼古拉斯-富贵 阅读(1012) 评论(0) 推荐(0) 编辑
摘要:JS异步编程的几种方式: 1、回调函数 (回调函数会陷入层层嵌套,即回调地狱,在此不再说明) 2、定时器(setTimeout、setInterval) 4、promise (回看我关于promise博文) 3、async await (async/await是 ES8 的新特性,基于 promis 阅读全文
posted @ 2021-11-10 17:41 尼古拉斯-富贵 阅读(292) 评论(0) 推荐(0) 编辑
摘要:1、for循环 2、ES6 new Set()方法 3、filter去重 阅读全文
posted @ 2021-11-09 17:30 尼古拉斯-富贵 阅读(42) 评论(0) 推荐(0) 编辑
摘要:ES5:谁调用this指向谁,普通函数指向window, 1、普通函数(包括立即执行函数) 2、函数调用 2.1:构造函数(继承) 2.2:对象、数组调用 2.3:事件调用 输出调用对象 document window ES6函数其实没有自己的this指向,他会往外寻找,找到为止,输出的this是外 阅读全文
posted @ 2020-12-24 16:42 尼古拉斯-富贵 阅读(397) 评论(0) 推荐(0) 编辑
摘要:vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 数据劫持,来劫持各个属性的setter,getter,在数据更新时发布消息给订阅者,触发相应监听回调。 当把一个普通 Javascript 对象传给 Vue 实例来作为它的 阅读全文
posted @ 2020-12-14 16:45 尼古拉斯-富贵 阅读(4651) 评论(1) 推荐(0) 编辑
摘要:vue组件是可复用的vue实例,一个组件被创建好之后,就可能被用在各个地方,而组件不管被复用了多少次,组件中的data数据都应该是相互隔离,互不影响的. 基于这一理念,组件每复用一次,data数据就会被复制一次,之后,当某一处复用的地方组件内data数据被改变时,其他复用地方组件的data数据不受影 阅读全文
posted @ 2020-12-10 17:49 尼古拉斯-富贵 阅读(2433) 评论(0) 推荐(0) 编辑
摘要:一、缓存过程分析: 浏览器和服务器的通信模式为应答模式,即:浏览器发送http请求 ->服务器响应该请求。那么浏览器第一次拿到服务器返回的结果,根据HTTP头的缓存标识,决定是否缓存返回的结果。 过程图如下 由上图可知: ① 浏览器每次http请求都会在缓存中寻找该请求结果和缓存标识 ② 浏览器每次 阅读全文
posted @ 2020-12-03 11:11 尼古拉斯-富贵 阅读(408) 评论(0) 推荐(0) 编辑
摘要:1、构造函数默认返回值 构造函数 内部 this 指针指向person2 这个对象,并且默认返回 person2 这个对象 2、构造函数 return 2.1:当 return 值为一个普通的类型(string、number、boolean、Null,Undefined)的时候,依然返回 this对 阅读全文
posted @ 2020-11-23 16:54 尼古拉斯-富贵 阅读(339) 评论(0) 推荐(0) 编辑
摘要:...运算符主要用于数组和对象的一些操作。 基本的应用场景分为一下几个: 1、函数调用:把数组转换为一个参数序列 function add(x, y) { return x + y; } const numbers = [4, 38]; add(...numbers) // 42console.lo 阅读全文
posted @ 2020-05-29 17:01 尼古拉斯-富贵 阅读(196) 评论(0) 推荐(0) 编辑
摘要:1、for循环:for循环是成熟且稳定的JS语法,可以很多复杂的环境中运行,当大量数据及复杂逻辑的时候,for循环性能最佳,它能通过每个属性的 i 去针对性查找 let arr1=[1,2,3,4,5,6] let newArr=[] // for循环 for(let i=0;i<arr1.leng 阅读全文
posted @ 2020-05-14 15:48 尼古拉斯-富贵 阅读(1520) 评论(0) 推荐(0) 编辑
摘要:什么是 promise promise 是ES6 的内置对象,是一种异步解决方案,本质上是一个构造函数 特点: 1、promise 有3状态 pending(进行中)resolve(成功) reject(失败)只有异步操作的结果能决定他的状态,其他的任何操作不能改变他的状态 2、状态变化:pendi 阅读全文
posted @ 2020-04-26 14:58 尼古拉斯-富贵 阅读(782) 评论(0) 推荐(0) 编辑
摘要:最常见的工厂函数: function p(params){ console.log(params) } 等同于 const p=function(params){ console.log(params) } 等同于ES6写法 const p=(params)=>{ } console.log(par 阅读全文
posted @ 2020-04-26 14:14 尼古拉斯-富贵 阅读(210) 评论(0) 推荐(0) 编辑
摘要:1、构造函数继承 function Parent(name){ this.name=name; } Parent.prototype.saiHi=function(){ console.log("hello") } function child(name,age,gender){ Parent.ca 阅读全文
posted @ 2020-03-22 17:47 尼古拉斯-富贵 阅读(200) 评论(0) 推荐(0) 编辑
摘要:参考博文:https://www.cnblogs.com/Leo_wl/p/5734794.html 阅读全文
posted @ 2020-03-22 17:07 尼古拉斯-富贵 阅读(180) 评论(0) 推荐(0) 编辑
摘要:一、尽量减少HTTP请求 1、css sprit 雪碧是减少http请求的有效办法,如果每一张图片都请求一次,增加服务器压力。而sprit把图片合成到一张背景图里,一次请求就可以得到背景图里所有图片,如何按照位置排列即可,大大减少小了请求次数。 sprit合并工具 CSS Sprite Genera 阅读全文
posted @ 2020-03-07 20:59 尼古拉斯-富贵 阅读(663) 评论(0) 推荐(0) 编辑
摘要:callback() 回调函数 JS是单线程函数,单线程所有的函数执行都是同步的,前一个函数执行完之后再执行下一个函数,这样的话如果排队的函数很多就会造成页面长时间无响应 所以,就要用到了JS异步callback 怎么理解callbck ? 字面上理解下来就是,回调就是一个函数的调用过程。那么就从理 阅读全文
posted @ 2019-04-08 21:57 尼古拉斯-富贵 阅读(2836) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示