随笔分类 -  JavaScript

关于原生js的内容
js与java对接RSA加密、解密算法
摘要:一、什么是RSA加密 上世纪70年代产生的一种加密算法,其加密方式比较特殊,需要两个密钥:公开密钥简称公钥(publickey)和私有密钥简称私钥(privatekey)。公钥加密,私钥解密;私钥加密,公钥解密。这个算法就是伟大的RSA。 二、加密过程 使用公钥将数据加密,并通过私钥对加密信息进行解 阅读全文

posted @ 2022-06-29 17:23 sjpqy 阅读(2542) 评论(0) 推荐(0) 编辑

js与java对接AES-128-GCM加密、解密算法
摘要:一、什么是AES加密 常见的加密主要分为两类:对称加密和非对称加密,AES加密就是对称加密的一种,即加密和解密使用相同的一把密钥。它的全称是Advanced Encryption Standard(高级加密标准),主要是用来取代DES加密算法,目前已经被全世界广泛采用。 二、AES的基本构成 概念: 阅读全文

posted @ 2022-06-29 15:07 sjpqy 阅读(8934) 评论(0) 推荐(1) 编辑

解决js定时器不准的问题
摘要:为什么会出现定时器不准呢? 这个就得从js的执行机制说起了,在事件循环(EventLoop)执行机制中,异步事件(setInterval/setTimeout)会把回调函数放入消息队列(Event Queue)中,主线程的宏任务执行完毕后,依次执行消息队列中的微任务,等微任务执行完了再循环回来执行宏 阅读全文

posted @ 2022-01-07 10:50 sjpqy 阅读(2990) 评论(0) 推荐(0) 编辑

前端安全-如何防止XSS攻击
摘要:前端安全 随着互联网的高速发展,信息安全问题已经成为企业关注的焦点之一,而前端又是引发企业项目安全问题的高危据点。在移动互联网时代,前端人员除了受到传统的XSS、CSRF攻击之外,还时常遇到网络劫持,非法的Hybrid API 等新型的网络安全问题。当然,随着浏览器的不断发展和优化,不断引入了 CS 阅读全文

posted @ 2021-09-23 16:54 sjpqy 阅读(3646) 评论(0) 推荐(0) 编辑

彻底搞懂字符串提取方法 slice,substr,substring
摘要:ECMAScript提供了3个从字符串中提取子字符串的方法:slice(),substr(),substring();为什么要出三个方法呢,下面就来分析这三个方法的共同点与区别。 对于两个参数都是正整数的情况下: 相同点: 这三个方法都返回调用他们的字符串的一个子字符串,也就是不会改变原字符串 都接 阅读全文

posted @ 2021-08-25 10:19 sjpqy 阅读(604) 评论(0) 推荐(0) 编辑

webpack性能优化
摘要:为什么要优化? 如果你的项目很小,构建很快,其实不用特别在意性能方面的问题。但是随着项目涉及到的页面越来越多,功能和业务代码也会越来越复杂,相应的 webpack 的构建时间也会越来越久,打包后的体积也会越来越大,这个时候我们就不得不考虑性能优化的事情了。 分析工具 在动手优化之前,我们需要有一个量 阅读全文

posted @ 2021-07-02 09:43 sjpqy 阅读(1136) 评论(0) 推荐(0) 编辑

uni-app制作新手引导
摘要:新手引导一般用于新用户打开APP,引导用户使用的流程 实现思路,以uni-app为例,也是基于vue实现 1. 获取需要高亮元素的宽高以及left, top 使用 boundingClientRect 方法 2. 使用box-shadow 将其它区域遮盖住即可 具体步骤: 一、封装我们需要的数据 d 阅读全文

posted @ 2021-06-10 22:59 sjpqy 阅读(3814) 评论(2) 推荐(1) 编辑

【项目升级】将vue-cli2.9升至4.5
摘要:一、为什么要升级 公司的项目都是采用vue-cli2.9构建的,随着业务的复杂和项目的庞大,很多优化项无法达到预期的要求。在尝试各种方法之后,最终决定升级到cli4.0版本。 4.0版本带来的变化有以下几点: 采用webpack 4.x构建,提升启动和打包效率; webpack 4.x 使用的 sp 阅读全文

posted @ 2021-03-11 14:10 sjpqy 阅读(886) 评论(0) 推荐(0) 编辑

git merge和rebase合并分支的区别
摘要:一、描述 在使用 git 进行版本管理的项目中,在feature分支开发完成,要将其合并到master分支时,我们有两种方式,一种是 git merge 另一种是 git rebase ,通常,我们对git merge 比较熟悉,而对git rebase 使用较少。其实,git rebase 也是极 阅读全文

posted @ 2021-02-23 18:12 sjpqy 阅读(626) 评论(0) 推荐(0) 编辑

JS浮点运算精度问题
摘要:一、问题描述 在JS中,整数和浮点数都是Number数据类型,所有的数字都是以64位浮点数的形式存储的,即便是整数也是如此。所以我们在打印 1.00 的时候,显示的却是 1。当浮点数作为数学运算的时候,也会经常遇到一些奇怪的问题。比如下面: // 加法运算 0.1 + 0.2 = 0.3000000 阅读全文

posted @ 2020-10-30 12:11 sjpqy 阅读(924) 评论(0) 推荐(1) 编辑

ES11新增的9个新特性
摘要:本Ecma标准定义了ECMAScript 2020语言。它是ECMAScript语言规范的第11版。自从1997年第一版出版以来,ECMAScript已经发展成为世界上使用最广泛的通用编程语言之一。它被称为嵌入在web浏览器中的语言,但也被广泛应用于服务器和嵌入式应用程序。 那么ES11又引入了那些 阅读全文

posted @ 2020-10-20 14:24 sjpqy 阅读(1155) 评论(0) 推荐(0) 编辑

后端要采用ArrayBuffer上传文件
摘要:最近做了个不一样的上传方式,其实上传文件是最常见的交互方式,前端上传的方式也很多。常见的有: 1. form + input 上传 <form action='uploadFile.php' enctype="multipart/form-data" type='post'> <input type 阅读全文

posted @ 2020-09-29 15:20 sjpqy 阅读(3036) 评论(0) 推荐(2) 编辑

重磅来袭 Vue 3.0 One Piece 正式发布
摘要:代号为One Piece 的Vue3.0 在9月19日凌晨正式发布!! 此次vue3.0 为用户提供了全新的 composition-api 以及更小的包大小,和更好的 TypeScript 支持。 发布地址 Vue-next Vue3.0 是当前非常流行的框架,Vue3.0更是酝酿了2年多的时间, 阅读全文

posted @ 2020-09-19 08:30 sjpqy 阅读(3302) 评论(10) 推荐(5) 编辑

浏览器的回流与重绘(Reflow&Repaint)
摘要:前言: 在了解回流与重绘之前,我们先来了解下浏览器的渲染机制: 1. 浏览器采用的是流式布局模型(Flow Based Layout) 2. 浏览器会把CSS解析成CSSOM Tree,把HTML解析成 DOM Tree,把这两个合并成 Render Tree 3. 有了Render Tree 我们 阅读全文

posted @ 2020-08-20 15:57 sjpqy 阅读(692) 评论(0) 推荐(0) 编辑

微前端介绍
摘要:一、为什么要学习微前端 什么是微前端 微前端就是将不同的功能按照不同的维度拆分成多个子应用。通过主应用来加载这些子应用。 微前端的核心在于拆, 拆完后在合! 为什么去使用微前端 不同团队间开发同一个应用技术栈不同怎么破? 希望每个团队都可以独立开发,独立部署怎么破? 项目中还需要老的应用代码怎么破? 阅读全文

posted @ 2020-07-28 11:55 sjpqy 阅读(4106) 评论(0) 推荐(0) 编辑

el-upload配合vue-cropper实现上传图片前裁剪
摘要:需求背景 上传一个封面图,在上传之前需要对图片进行裁剪,上传裁剪之后的图片,类似微信的上传头像。 技术方案 上传肯定是用element的 el-upload 组件实现上传,非常方便,各种钩子函数。 裁剪一开始找的 cropper 看着功能到是非常齐全,api也比较丰富,基本是符合预期的需求的。但是此 阅读全文

posted @ 2020-06-06 00:00 sjpqy 阅读(4164) 评论(1) 推荐(4) 编辑

通过link的preload进行内容预加载
摘要:Preload 作为一个新的web标准,旨在提高性能和为web开发人员提供更细粒度的加载控制。Preload使开发者能够自定义资源的加载逻辑,且无需忍受基于脚本的资源加载器带来的性能损失。 <link> 标签的rel属性preload 可以在页面中的header部分中申明一些资源的获取请求,可以指定 阅读全文

posted @ 2020-06-02 08:58 sjpqy 阅读(7080) 评论(0) 推荐(0) 编辑

create-react-app扩展webpack配置
摘要:首先创建一个react项目,使用新的方式 npx npx create-react-app my-app 网上有很多方法去扩展react的webpack,比较常见的做法是运行 yarn eject 将所有的react配置暴露出来。但是这样就会使得项目变得臃肿,看起来代码多了很多。这里不做介绍。 今天 阅读全文

posted @ 2020-05-25 17:38 sjpqy 阅读(4495) 评论(0) 推荐(0) 编辑

H5 适配暗黑主题
摘要:在暗黑主题下,用户可以采用深色的外观,所有的窗口,背景都采用比暗的颜色。 随着系统的升级,越来越多的APP适配了暗黑模式,比如微信,qq浏览器等。现在网页也得跟上时代的潮流,也得适配暗黑模式。 暗黑模式的优势 可以减少使用电量; 对弱势或者光线敏感的人提供更好的视觉; 让所有人都能在光线较弱的环境下 阅读全文

posted @ 2020-04-29 22:58 sjpqy 阅读(1058) 评论(0) 推荐(0) 编辑

Promise 基础使用
摘要:为什么要使用Promise JS 是一门单线程单线程的语言,所以在早期解决异步的场景时,大部分情况下是使用回调函数的形式。 例如我们在浏览器中发送一个ajax请求。发送请求之后要过一段时间,浏览器响应之后才会返回给我们结果,如果我们希望在异步请求之后进行某些操作,那么只能通过回调函数来进行。 var 阅读全文

posted @ 2020-03-12 21:14 sjpqy 阅读(241) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示