- 博客(24)
- 收藏
- 关注
转载 AMD , CMD, CommonJS,ES Module,UMD
/ index.js // 注意,这里的m得和被加载的模块输出的接口名对应 import { m } from './module';因为'a' + 'b'在运行阶段才能取到值,运行阶段在编译阶段之后 import { 'a' + 'b' } from './module';// 若是只是想运行被加载的模块,如下 // 值得注意的是,即使加载两次也只是运行一次 import './module';// 接口名与模块内部变量之间,建立了一一对应的关系 // 写法1 export const m = 1;
2023-07-12 15:32:34 453
原创 最长回文串js
//判断是否是回文串function isLong(str) {return str === str.split('').reverse().join(''); }function getLongest(str) { let long = ''; let length = 0; for (let i = 0; i < str.length; i++) { // 判断是否需要展开回文串,当展开的长度大于当前最长回文串长度才展开 ...
2022-04-12 22:06:46 117
原创 快速牌序js
获取数组中间值,然后其余元素和中间值对比分成两个子集,两个子集继续同样操作,直到子集剩余一个元素或者没有;function quickSort(arr) {if (arr.length<2) return arr; // 处理长度为1或者空数组let j = Math.floor(arr.length/2);let pivot = arr.splice(j,1)[0]; // 截取基准元素let left = [];let right = [];for (let ind
2022-04-07 19:43:57 69
原创 归并牌序JS
二分法把数组分成一个新的数组,其中每个元素都是数组;然后两个一组比较大小牌序返回一个合并的数组;两个数组一组比较大小牌序返回一个合并的数组;最后返回一个数组;function sliceArr(arr) { // 数组长度小于2就不处理,解决奇数长度问题 if (arr.length<2) { return arr; } let res = []; let i = 0; let j...
2022-04-07 18:57:37 70
原创 限制异步操作的并发个数
var urls = [ "https://hexo-blog-1256114407.cos.ap-shenzhen-fsi.myqcloud.com/AboutMe-painting1.png", "https://hexo-blog-1256114407.cos.ap-shenzhen-fsi.myqcloud.com/AboutMe-painting2.png", "https://hexo-blog-1256114407.cos.ap-shenz...
2022-04-06 18:16:33 497
原创 promise merge
const time = (timer) => { return new Promise(resolve => { setTimeout(() => { resolve() }, timer) }) } const ajax1 = () => time(2000).then(() => { console.log(1); return 1...
2022-04-06 17:10:54 123
转载 eventloop
宏队列和微队列宏队列,macrotask,也叫tasks。一些异步任务的回调会依次进入macro task queue,等待后续被调用,这些异步任务包括:setTimeout setInterval setImmediate (Node独有) requestAnimationFrame (浏览器独有) I/O UI rendering (浏览器独有)微队列,microtask,也叫jobs。另一些异步任务的回调会依次进入micro task queue,等待后续被调用,这些异步任务包..
2022-04-06 12:49:12 148
原创 promis all allSettled
function all(results) { let result = new Array(results.length); // 存储返回结果 let counter = 0; // 计数器 return new Promise((resolve,reject)=> { function processData(i,data) { result[i] = data; // 计数器判断是否全部执行完成...
2022-04-06 12:43:46 147
原创 最长回文串Javascript
function findLongestPlalindromeString(str) { // 2n-1 全部转成奇数 let m = str.split('').join('#'); let center = 0;//最长回文串的扩展中心 let max = 0;//扩展中心对称的最长回文串 let temp,start,end; for (let i = 0; i < m.length; i++) { ...
2022-04-03 16:41:50 983
原创 【无标题】
/*** 写一个 find 方法,根据 id 查找 data 树中的任意一项,例如:* find(data, '101') // => '浦东'* find(data, '201') // => '西湖区'*/const data = [{id: '100',name: '上海',children: [{id: '101',name: '浦东',children: []},{id: '...
2022-04-03 13:40:58 354
原创 异步请求失败重试
// 扩展异步请求函数 ajax() 增加最大重传次数参数,只有当重试次数大于最大重传次数后,// 才从失败回调中返回,否则从成功的回调中返回function retry(fun, times) { return new Promise((resolve, reject) => { function doRetry() { Promise.resolve(fun).then(res=> resolve(res)).catch(e =&...
2022-04-03 13:36:55 123
原创 手写VUE
<meta charset="utf-8"> 乱码的原因是 默认字符集是ANSI,utf-8无BOM不会乱码,解决办法新建文本文档另存为utf-8<meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1">如果安装了GCF,就用GCF渲染页面,没有就用IE最高版本内核渲染。Google Chrome Frame(谷歌内嵌浏览器框架GCF),这个插件可以让用户使用IE浏览器外观不变,但是使用的是Chrome内核
2022-04-03 13:25:33 942
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人