![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
正在切换输入法
这个人很勤快,想写啥写啥。
展开
-
好用的翻牌器,定时器适用于react vue 等等
// npm i -S react-countup// import CountUp from 'react-countup'; <CountUp start={0} duration={2} separator=',' decimals={2} end={1000000.89} /> // 常用的集中属性// start 开始时间 duration 持续时间 separator 千分位隔离 decimals 小数位 end 结束时间...原创 2020-06-23 15:22:53 · 1050 阅读 · 3 评论 -
立即执行函数表达式
立即执行函数主要是为了防止全局变量污染const abc = (() => {console.log(’‘33333’’)})()原创 2020-06-12 16:20:29 · 183 阅读 · 0 评论 -
useState useEffect
hookimport React, { useState } from ‘react’const [count, setCount] = useState(1) // setCount调用改变值得方法例如 setCount(1) count取值即可import React, { useEffect } from ‘react’useEffect(() => {})[a,b] // 当ab改变时才会执行。如果不传的话相当于componentDidUpdate。...原创 2020-06-11 16:00:42 · 186 阅读 · 0 评论 -
代替componentWillReceiveProps的static getDerivedStateFromProps
代替componentWillReceiveProps(每次调用都会更新一下state。更新无关的父组件的state,声明周期会一直调用)// 把props里面的值放到state里面调用static getDerivedStateFromProps(nextProps, prevState) { if (nextProps.wy !== prevState.wy) { return { isLogin: nextProps.tx, }; } return null原创 2020-06-11 15:38:13 · 368 阅读 · 0 评论 -
dispath异步处理
dispath在请求接口后如果想要做某些判断的话,就在dispath({}).then(() => { alert(’兄弟们,虽然不是同一时间,但是同一地点‘))原创 2020-06-11 15:12:23 · 653 阅读 · 0 评论 -
请求方式拦截器
request.interceptors.request.use((url, options) => {const data = {url,options: { …options },};if (data.options.method.toUpperCase() === ‘POST’) {data.options.data = {tx: ‘’,…(op.options.data || {}),};}if (data.options.method.toUpperCase() ===原创 2020-06-11 15:01:19 · 764 阅读 · 0 评论 -
es6多层解构
对象解构const testData = { name:‘wy’,age:{tx:‘kq’} }const { age:{ tx } } = testDataalert(tx)数组解构const testData = [ {‘wy’:12}, {‘tx’: 13}]const [wy, tx] = testDataalert(wy,tx)原创 2020-06-11 14:55:43 · 1519 阅读 · 0 评论 -
伪类元素
常用的伪类元素清除浮动a:after{ content:"."; display:block; height:0; clear:both; visibility:hidden; }在支持 CSS 的浏览器中...原创 2019-08-13 12:08:51 · 502 阅读 · 0 评论 -
浏览器进程与线程
浏览器是多进程(进程是cpu资源分配的最小单位)的,打开一个页面就相当于一个进程,有单线程(线程是cpu调度的最小单位)的进程,也有多线程的进程。浏览器进程中,最重要的及时渲染进程(浏览器内核)1…GUI渲染线程2.JS引擎线程3.事件触发线程4.定时触发器线程5.异步http请求线程...原创 2019-08-15 20:28:36 · 152 阅读 · 0 评论 -
session和cookie和tooken
cookie:由于http协议是无状态的,第一次向服务器发送请求后,信息并不会保存,下一次在发送请求,服务器就识别不了。cookie就是第一次发送请求后,后端返回给前端的标识。下一次发送请求带上coolie即可。(size:4kb)session:cookie是存储在本地浏览器,而session存储在服务器。(服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后sessi...原创 2019-08-15 19:44:44 · 594 阅读 · 0 评论 -
dom bom
1.BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。2.DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。...原创 2019-08-07 11:52:07 · 207 阅读 · 0 评论 -
js作用域
1.概念全局变量:函数外声明的变量,称为全局变量局部变量:函数内部使用var声明的变量,称为局部变量全局变量访问不了函数内部变量,因为每次函数执行完后,就会把内部变量清除。2.在js中只有函数作用域,也就是说,只有局部变量。if/for等有{}的结构体,并不能具备自己的作用域。3.可以使用闭包让函数d可以访问abc里面的变量函数变量会被保存在内存中(abc是d的父函数,相当于abc...原创 2019-08-07 11:17:44 · 204 阅读 · 0 评论 -
前端页面性能优化
1.压缩css,js体积。2.尽量减少不必要的dom操作。3.图片不要保存在本地,尽量用外链4.尽量吧可以重复使用的部分抽离成组件。5.能缓存的请求,尽量缓存到本地。6.不要引入太多web字体...原创 2019-08-13 17:42:09 · 143 阅读 · 0 评论 -
js异步(队列)
1.js是单线程的(一个时间内只能干一件事)2. 存在任务队列 首先执行同步的,执行完再执行异步3.for (var i = 0; i < 4; i++) { setTimeout(function () { console.log(i); }, 1000); } 打印4次4 因为setTime...原创 2019-08-05 19:42:25 · 826 阅读 · 0 评论 -
csrf攻击和xss(万恶之源)
1.可视化图直观如图所示,用户首先要登录网站,然后网站生成一个cookie,下发给用户。用户禁不住诱惑,访问b网站,然后点击了不该点击的。那么用户就不经意之间进入了a网站。网站通过这种方法,调用bug接口,实现侵犯正义。(添加token认证即可)xss :比如用户在输入框中输入一段script标签,进而实现侵犯。就是类似于这种方法。解决放法:转义标签就可以。...原创 2019-08-05 19:33:19 · 164 阅读 · 0 评论 -
通信
1.ajax实现过程var request = new XMLHttpRequest()传建一个请求对象request.open('get', '',false)配置请求里面的信息request.onreadystatechange = function () {设置一个处理请求信息的函数 if(request.readyState == 4&&request....原创 2019-08-05 19:25:09 · 161 阅读 · 0 评论 -
js中的面向对象。
1.js中的面向对象就是类,而类中关键的就是继承2.首先声明一个类var Gandparent = function(){this.game = “play”}3.构造函数实现继承<script type="text/javascript"> function Grandparent () { this.name = "zhangsan" ...原创 2019-08-05 18:59:17 · 112 阅读 · 0 评论 -
dom事件的捕获和冒泡
1.DOM事件捕获的具体流程window->document(根节点)->html->body->具体元素2.DOM自定义事件 var eve = new Event('test'); ev.addEventListener('test', function () { console.log('test dispat...原创 2019-08-05 17:16:18 · 139 阅读 · 0 评论