Violetks Blog

Thinking will not overcome fear but action will.

UmiJS 路由使用

一、声明式 使用Link,通常作为React组件使用。 import { Link } from 'umi'; export default () => { <Link to="/list">Go to list page</Link> }; Link只用于单页应用的内部跳转,如果是外部地址跳转请使用<a>标签。 二、命令式 使用h...

React Hooks 基本使用

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 一、useState const [state, setState] = useState(initialState); 用于在函数组件中定义state变量,React 会在重复渲染时保留这个state。 useState传入参数是stat...

常见 Web 攻击技术

零、Web 安全问题发展形势 不同的时代,Web 安全问题也不同,在 Web1.0 主要危害 Web 服务器,Web2.0 开始针对上网的 Web 用户。 Web 安全问题分为客户端安全问题和服务器安全问题。 百度搜索 Hacked by,可以看到许多被黑客攻击了的网站。 一、XSS 跨站脚本攻击(Cross Site Script),攻击者通过“HTML注入”篡改网页...

跨域解决方法

什么是跨域?跨域请求资源的方法有哪些? 一、什么是跨域 由于浏览器的同源策略,当发送请求 URL 的协议、域名、端口三者之间任意一个与当前页面 URL 不同即为跨域。跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。 当前页面 url 被请求页面 url 是否跨域 原因 ...

动态创建二维码

一、动态生成二维码 1. 先在终端中安装 npm install qrcodejs2 2. 在需要二维码的页面中调用 import QRCode from 'qrcodejs2' 3. 在要展示二维码的容器上添加 class 属性 <div class="qrcode" ref="qrCodeRef"></div> 4. 在script中添加方法 ...

ES6 的 Set 和 Map

参考教程《ECMAScript 6 入门》——阮一峰 Set Set 本身是一个构造函数,用来生成 Set 数据结构。它类似于数组,但是成员的值都是唯一的,没有重复的值。 let set = new Set(); // 接受一个数组,用来初始化 let set = new Set([1, 2, 3, 4, 4]); Set 实例的方法分为两大类:操作方法和遍历方法。 1、操作...

ES6 语法

关于 ES6 在《ECMAScript6 入门》中已经有很详细的教程了,这里主要再举些例子 ES6,全称ECMAScript 6.0,是 JavaScript 的第六个版本标准 一、var、let 和 const 的区别 1、ES6用let和const声明变量和常量,ES5用var声明。 2、let和const作用域只局限于当前代码块,是块级作用域;var的作用域是方法作用域...

NodeJS

运行命令:node server.js 一、创建服务器 server.js: const http = require('http'); const fs = require('fs'); const server = http.createServer((req, res) => { // 读取 www 文件夹中的 index.html 文件 // req.url...

防抖&节流

相关文章:https://segmentfault.com/a/1190000016261602 函数防抖(debounce)(★) 函数需要频繁触发情况时,在事件触发 n 秒后再执行函数,如果在这 n 秒内事件又被触发,则重新开始计时。 也就是说,如果用户在时间间隔内一直触发函数,那么这个防抖函数内部的真正需要执行的函数将永远无法执行。 // 输出传入的参数 function s...

数组去重

一、遍历数组法 思路1:新建一个新数组res,遍历原数组,每次判断原数组值不在新数组中,就push到新数组。 function unique (arr) { let res = []; for (let i = 0; i < arr.length; i++) { if (res.indexOf(arr[i]) === -1) { //indexOf 等于 -1 时...