![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
qq_777
这个作者很懒,什么都没留下…
展开
-
一个loading的方法组件
class Loading extends React.Component{ render(){ return ( <div>loading</div> ) }}let node = nullconst loading = { show(){ node = document.createElement('div') document.body.appendChil.原创 2021-06-09 22:44:16 · 89 阅读 · 0 评论 -
react的声明周期
如果有多层组件嵌套1.创建期:render:从外往里componentDidMount:从里往外原创 2021-06-09 19:47:35 · 218 阅读 · 0 评论 -
ES6知识点电子版(from阮一峰)持续更新
一、声明与表达式:1、let与const:let声明的变量只在let命令所在的代码块有效,let只能声明一次,不存在变量提升。const声明一个只读变量,一旦声明,常量的值就不能改变,声明的同时必须初始化。var声明的变量在方法块内有效,var可以声明多次,变量提升。经典案例:for循环下的var和let变量i是用var声明的,在全局范围内有效,所以全局中只有一个变量i,每次循环时,setTimeout定时器里面的i指的是全局变量i,而循环里的十个setTimeout在循环结束后才执原创 2021-03-14 19:34:20 · 756 阅读 · 0 评论 -
js的原生方法和操作符
一、typeof判断类型的操作符返回:boolean、string、number、object、function、undefined二、boolean类型的方法:Boolean():任意类型都可以转化为boolean类型的值:true:非空字符串、非零数字以及非NaN、非null对象false:undefined、空串、0和NaN、null注意:Boolean()方法不等效于==,因为true!=2、true!={}...三、Number类型的方法:isFinite(num)原创 2021-03-14 19:19:46 · 135 阅读 · 0 评论 -
XSS攻击
一、XSS分类:存储型:服务端安全漏洞。攻击者通过论坛发帖、商品评论、用户私信等,将恶意代码提交到目标网站数据库中,用户打开目标网站时,恶意代码被取出,并拼接在HTML中返回给浏览器,被执行。反射型:服务端安全漏洞。通过特殊的包含恶意代码的URL,诱导用户打开后,网站服务端将恶意代码从URL中取出,拼接在HTML上返回给浏览器,恶意代码被执行。二、XSS预防:...原创 2021-03-07 12:05:20 · 148 阅读 · 0 评论 -
cookie、session、localstorage和sessionstorage
cookie和session: cookie若不设置过期时间,存在浏览器的内存中,关闭浏览器,cookie自动消失;cookie若设置过期时间,存在硬盘里,以过期时间为准,与是否关闭浏览器无关。cookie是一个文件存放在本地,安全性差; session在一定时间内保存在服务器上,访问增多会比较占用服务器性能。建议将登录信息等重要信息存放为session,其他信息如果需要保留,可以...原创 2018-04-04 16:05:05 · 125 阅读 · 0 评论 -
对象的深拷贝和浅拷贝
引用数据类型的名称是存在栈内存中,值存在堆内存中,在栈内会存在一个引用的地址指向堆内存中的值:浅拷贝:深拷贝:深拷贝后,所有层级的属性都不联动实现浅拷贝的方法:1、assign():let copyObj = Object.assign({},obj); //只有第一层不联动,深层的还是联动的2、concat():var copyArr = arr.concat([]); //只有第一层不联动,深层的还是联动的3、slice():var c...原创 2021-03-05 22:36:04 · 59 阅读 · 0 评论 -
强制缓存和协商缓存
浏览器缓存:浏览器在本地磁盘对用户最近请求过的文档进行存储,当再次访问时,浏览器可以直接从本地磁盘中加载文档。是web性能优化的重要方式。针对数据的请求不用缓存,就是Content-type里有关json的那些请求。浏览器第一次请求时,本地无缓存,服务器会将页面最后修改时间通过Last-Modified标识有服务器发给客户端,服务器还会生成一个Etag发送给客户端。浏览器缓存分为强缓存和协商缓存。在协议头中设置强缓存:状态码为200,不发送请求到服务器,直接从缓存中取。跟过期时间进行比较。Exp原创 2021-03-02 22:25:23 · 242 阅读 · 0 评论 -
v8-js引擎
js是解释型语言,不需要编译。零、js运行效率比JAVA和C++低很多的原因:js是一种无类型的语言,并不能准确知道变量的类型,只能在运行时确定,但是在运行时计算和决定类型,会严重影响性能。一、常见的js引擎:IE浏览器:Jscript、Chakra(新版IE);FireFox浏览器:SpiderMonkey;Safari浏览器:JavascriptCore;Ch...原创 2020-01-29 23:10:14 · 165 阅读 · 0 评论 -
js中的DOM(文档对象模型)
1、someNode.childNodes是一个对象,是类数组,利用Array.prototype.slice.call(someNode.childNodes);能将此对象转化为数组。这个方法可以将具有length属性的类数组转化为数组,比如:arguments2、用js设置页面title属性:document.title3、通过设置document.domain可以把子域名设置为宽松的...原创 2020-01-05 17:37:24 · 111 阅读 · 0 评论 -
javascript性能问题
1、注意作用域,尽量不要在作用域链中找全局变量;2、避免不必要的属性查找:数组比对象快很多;3、优化循环:减值迭代,简化终止条件,简化循环体,后测试循环;4、展开循环;5、尽可能避免出现需要按照javascript解释的字符串;6、原生方法较快;7、switch语句比if-else快8、位运算符较快、9、用一个var声明变量;10、使用事件代理:利用事件冒泡;...原创 2020-01-05 17:36:59 · 133 阅读 · 0 评论 -
Event loop(事件循环)
检查事件队列是否为空,如果为空,则继续检查;如不为空,则执行 2; 取出事件队列的首部,压入执行栈; 执行任务; 检查执行栈,如果执行栈为空,则跳回第 1 步;如不为空,则继续检查;...原创 2020-01-05 17:36:34 · 94 阅读 · 0 评论 -
虚拟dom的diff算法
今天看到一篇关于diff算法的博客:https://www.cnblogs.com/wind-lanyan/p/9061684.html茅塞顿开,醍醐灌顶,一下懂了,写下心得,以后再来读。virtualDOM和虚拟dom的区别:虚拟dom以对象形式存在。当我们修改了数据的时候,如果每次都触发dom的重绘和回流会在很大程度上影响性能,所以采用diff算法:diff算法会将同级的虚拟dom...原创 2020-01-05 17:35:16 · 252 阅读 · 0 评论 -
vue源码阅读理解
2019/8/30: 天气晴,万里无云的那种。今天,是9月1号开学的前两天,祖国70岁华诞前一个月零两天,后台在改bug,我便有了难得的一点空余。琢磨了下如何利用这段宝贵的时间呢?学英语?学日语?睡会?还是刷会微博?(咋不上天?)所以决定读下vue源码(没啥因果关系)。。之前就读过,是为了找工作,后来不找了就不读了(用意念给自己一巴掌),时隔几个月,emmm...再读! ...原创 2019-08-30 17:46:48 · 110 阅读 · 0 评论