javascript
2422400672
这个作者很懒,什么都没留下…
展开
-
html字符串转义与反转义
html字符串转义和反转义原创 2022-06-19 02:14:28 · 1418 阅读 · 1 评论 -
dom节点序列化与反序列化(XMLSerializer和DOMParser)
dom序列化和反序列化原创 2022-06-19 02:13:26 · 728 阅读 · 0 评论 -
dom节点遍历 TreeWalker
dom节点遍历原创 2022-06-19 02:12:41 · 316 阅读 · 0 评论 -
dom节点遍历 NodeIterator
dom节点遍历原创 2022-06-19 02:11:46 · 231 阅读 · 0 评论 -
前端页面生成pdf方案
前端pdf导出方案原创 2022-06-19 02:10:46 · 2598 阅读 · 0 评论 -
markdown渲染增加行号
markdown渲染代码增加行号原创 2022-06-16 00:24:34 · 1364 阅读 · 0 评论 -
网页渲染markdown(markdown-it)
使用markdown-it在网页上渲染markdown文件原创 2022-06-13 23:51:51 · 2556 阅读 · 1 评论 -
利用grunt本地管理svg,生成icon.js
本地实现svg生成icon.js功能,不用将图标上传到阿里矢量库原创 2022-06-10 16:03:44 · 415 阅读 · 0 评论 -
js文本拷贝到剪切版
function copyText (text) { if ((navigator as any).clipboard) { (navigator as any).clipboard.writeText(text); } else { const textarea = document.createElement('textarea'); document.body.appendChild(textarea); textarea.style.position =原创 2022-04-20 16:34:32 · 157 阅读 · 0 评论 -
线性插值动画
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><canvas width="800" height="500" id="canvas"></canvas><script src="index.js"></原创 2022-04-15 15:32:15 · 317 阅读 · 0 评论 -
window.crypto.subtle进行rsa-oaep加密
const pemEncodedKey = `-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxiuhgssxHclogWzB7OGyvkIB+HGUO4hODykrz3c0/SBLJZc78mq7VaL3EnicGpoXFJkao3I+1C7MD5Jpa27bSc22veI0frbd/nbiSutvwAnf3rpVJEQtFTMz3v4OpSRcjOhIxKsL6iZ0JTt5++gksqeyrMt...原创 2022-03-02 14:12:55 · 1386 阅读 · 0 评论 -
javascript数字范围
-Infinity < -MAX_VALUE < MIN_SAFE_INTEGER = -MAX_SAFE_INTEGER < -1 < -MIN_VALUE < 0 < MIN_VALUE < 1 < MAX_SAFE_INTEGER < MAX_VALUE < Infinity-MIN_VALUE ~ MIN_VALUE 范围内的限制为0MIN_VALUE ~ MAX_SAFE_INTEGER 和 -MAX_SAFE_INTEGER原创 2021-03-21 17:14:47 · 113 阅读 · 0 评论 -
排序算法
冒泡排序function bubbleSort(arr){ let len = arr.length; for(let i = 0; i < len -1; i++){ for(let j = 0; j < len -1 - i; j++){ if(arr[j] > arr[j+1]){ swap(arr,j,j+1) } } } return原创 2021-03-12 23:24:24 · 91 阅读 · 0 评论 -
js正则表达式分组捕获
捕获const reg = /I have a (apple|watermelon)/;reg.test('I have a apple') // RegExp.$1 = 'apple'利用捕获循环处理字符串比如去掉’[[[aaa]]]'中的中括号(这里只是举个例,可以这样来处理更复杂的模板字符串)const reg = /\[([a-zA-z]*)\]/;let str = '[[[aaa]]]';while(reg.test(str)){ str = str.replace(re原创 2021-03-10 20:18:42 · 721 阅读 · 0 评论 -
d3.js zoom中的translateBy,scaleBy,translateTo,scaleTo
文章中假设svg的长为width,高为height1.scaleTozoom.scaleTo(selector,n,[x1,y1])scaleTo的放大过程:将svg的坐标x,y都放大到n倍,目标元素的相应属性也放大n倍,同时会将目标进行位移,默认的位移大小为x = 0 - width / 2 *( n - 1) , y = 0 - height/ 2 *( n - 1)。所以当元素放大后默认情况下元素会向左上方位移 ,但是当我们放大时,大多数情况我们还是希望元素还是停留在当前的一个位置,仅仅是他原创 2021-03-06 14:46:02 · 1729 阅读 · 0 评论 -
react测试(5)jest Mock Functions
Mock 函数可以使用来测试代码之间的连接,即用来测试函数被调用的参数,返回值,调用了几次等等测试函数被调用的参数和返回值创建一个Mock Functions //定义一个调用一定此时回调函数的方法 function useCallBack(callback, count){ for (let i = 0; i < count; i++){ callback(i) } }原创 2020-08-08 17:54:58 · 524 阅读 · 0 评论 -
react 测试 (4) jest 异步代码测试
interface.js中放着调用接口的方法,假设我们要测试greeting接口的返回数据,或者经过业务处理后的数据//interface.jsimport axios from "axios"//返回数据型export const getGreeting = function(){ return new Promise((resolve, reject) => { axios.post("/greeting").then(response => resolv原创 2020-08-08 12:26:48 · 390 阅读 · 0 评论 -
react测试 (4) msw
Mock Service Worker(MSW)可以用于api的模拟,让前端在开发或者测试时不需要依赖后端的接口,msw不仅可以用在测试中,还可以在起的开发环境中使用node中使用,比如在测试用例中使用定义出我们需要的请求//handlers.jsimport { rest } from 'msw'export const handlers = [ //定义一个greeting的get请求 rest.get("/greeting",(req, res, ctx)=>{原创 2020-08-08 00:42:12 · 946 阅读 · 0 评论 -
react测试 (3) Testing Library
Testing Library是一个使用非常方便的测试辅助工具安装在脚手架创建的react项目中开箱即用npm install --save-dev @testing-library/react组件一个类似官网的示例import React, { useState, useReducer } from 'react'import axios from "axios"const initState = { error: null, greet: null}functio原创 2020-08-07 22:36:20 · 1812 阅读 · 1 评论 -
react测试 (2) Test Renderer
Test Renderer主要用于将 React 组件渲染成纯 JavaScript 对象,它可以配合jest的快照测试对ui组件进行测试,简单来说就是比较当前组件的快照是否和上次测试的快照相同,以避免开发人员无意的对ui组件的修改而导致问题。由于我没有写单纯的ui组件,我就用一个图片切换的组件进行演示组件import React, {useReducer} from 'react';interface cardState { urlPre: string; url: string原创 2020-08-07 00:42:15 · 836 阅读 · 0 评论 -
react测试(1)Test Utilities
由于我是用的是脚手架创建的react项目,所以测试所需要的库都是安装好的,如果非脚手架创建还需要安装相应的库组件我们用一个很简单的组件来举例,点击Reset按钮,count被设置为初始值,点击加号按钮或者减号按钮,count对应加一减一import React from "react"export default function MyCounter({initialCount}) { const [count, setCount] = React.useState(initialCoun原创 2020-08-06 23:47:27 · 399 阅读 · 0 评论 -
react Context
创建一个Contextimport React from 'react';//创建一个默认值为light的Contextconst theme = React.createContext("light");export default theme;使用Contextimport React from 'react';import ReactDOM from 'react-dom';import App from './App';import Theme from "./theme"原创 2020-07-22 21:11:16 · 156 阅读 · 0 评论 -
可移动弹窗,解决mouseup事件丢失问题
可移动弹窗,解决mouseup事件丢失问题(function(){ //节流函数,提高流畅性 let throttle = function(){ let fn; fn = arguments[0]; if(fn._throttleID){ return; }else{ ...原创 2019-09-24 14:21:53 · 596 阅读 · 0 评论