关于This和箭头函数

关于This,和JS的闭包这些,应该都是老生常谈了,本不应该说,因为一直在用TS&ES6+,对es5多了些淡忘,在小程序开发时,一度忘了this在哪简介请戳深入理解JavaScript原型和闭包 -- This用法this 指向的固定化,并不是因为箭头函数内部有绑定 this 的机制,实际原因是箭头函数根本没有自己的 this,导致内部的 this 就是外层代码块的 this。正是因为它没有 th

- 阅读全文 -

网站优化,提升网站速度

也会因此而感谢你,当然他们可能压根没注意到你的网站速度加快了——这是好事。在这篇文章里,我会告诉你一些提升网站速度的方法。我们开始吧。基准首先,用你的网站来做示例。你需要使用 Google 的 Pagespeed Insights 网站测试工具来测试你的网站,它会告诉你,你的网站需要优化移动端还是桌面端。Google 基于网页的渲染速度来打分。它会计算你的网站需要多久呈现到用户眼前。用户等待的时间

- 阅读全文 -

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 来做用户认证。

- 阅读全文 -

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代码,并且最重要的是

- 阅读全文 -