js数组中改变元素的位置——互换,置顶,上移,下移

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。一、两个元素换位子function swapArr(arr, index1, index2) { arr[index

- 阅读全文 -

React Router /Vue-Router 采用BrowserHistory 关于 Nginx配置

React Router /Vue-Router 采用BrowserHistory 关于 Nginx配置如今前端应用普遍使用react-router作为路由管理,VUE也自带全家桶vue-router,在开发端webpack自带的express服务器下运行和测试表现均正常,部署到线上的nginx服务器后,还需要对该应用在nginx的配置里作相应调整,否则浏览器将不能正常使用该应用,表现为页面不显示

- 阅读全文 -

为什么Chrome的document.body.scrollTop可以是小数

JavaScript突然发现新版的Chrome的scrollTop可以是一个小数,为什么可以是小数,这么做有什么意义?我可能滚动小数个像素吗?随着市面上各种高分屏,高DPI,都会出现这样的问题设计师的电脑真香,2K屏他毕竟工作在抽象的绘图空间上的,px的概念已经从最初的屏幕物理像素变成了一个长度单位,随着你屏幕dpi的不同,一个px所代表的真实像素数也不同。所以现代的2D渲染系统都是以浮点数定义坐

- 阅读全文 -

如何在React/MaterialUI中使用SVG素材

之前用iconfont的svg一直都是失败状态,今天来解决一下这里有个例子,大设计师设计的SVG印章图 这个图还是比较酷的 审核通过.svg(点击可下载) 这个svg的图通过查看代码如下 <svg xmlns="http://www.w3.org/2000/svg" width="3451.53" height="3335" v

- 阅读全文 -

jsonp解决跨域请求以及为什么不支持post请求

我的理解,用post就有跨域检查了。jsonp实际是在客户端动态添加了个script标签,然后将url指向要请求的地址,script是没有同源策略的。用这种办法自然只能是get了。jsonp的本质是:动态创建script标签,然后通过他的src属性发送跨域请求,不同意然后服务器相应的数据格式为【函数调用foo(实参)】,所以在发送请求之前必须声明一个函数,并且函数的名字与参数中传递的名字要一致。原

- 阅读全文 -

jwt 实践应用以及特殊案例思考

JSON Web Token 是 rfc7519 出的一份标准,使用 JSON 来传递数据,用于判定用户是否登录状态。jwt 之前,使用 session 来做用户认证。

- 阅读全文 -

React/TypeScript 中如何使用privateRoutes

不多说直接丢代码 import { Route, Redirect, RouteProps } from 'react-router-dom'; import * as React from "react"; export interface PrivateRouteProps extends RouteProps { component: React.Compon

- 阅读全文 -

JavaScript异步剪贴板 API

在过去我们只能使用 document.execCommand 来操作剪贴板。不过,这种操作剪贴板的操作是同步的,并且只能读取和写入 DOM。现在 Chrome 已经支持了新的 Async Clipboard API,作为 execCommand 替代品。这个新的 Async Clipboard API 还可以使用 Promise 来简化剪贴板事件并将它们与 Drag-&-Drop API

- 阅读全文 -

javascript 、React 如何本地加载缩略图

取出file类型文件执行如下异步操作function getBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(re

- 阅读全文 -

ReactJS/NestJS在vscode中调试 | Debugging in the Editor

今天没事干的时候,看了一下create-react-app的官网,发现画风变了,然后没事干翻看了几页,发现了可使用IDE进行调试当前仅Visual Studio Code和WebStorm支持此功能。Visual Studio Code和WebStorm支持使用Create React App进行开箱即用的调试。 这使您作为开发人员可以在不离开编辑器的情况下编写和调试React代码,并且最重要的是

- 阅读全文 -

React 17新增的生命周期

一、废除的生命周期官网文档指出使用这些生命周期的代码会在未来版本的react中更容易产生bug,尤其是对于异步渲染的版本由于未来采用异步渲染机制,所以即将在17版本中去掉的生命周期钩子函数componentWillMountcomponentWillRecievePropscomponentWIllUpdate二、新增的生命周期static getDerivedStateFromProps(nex

- 阅读全文 -