JavaScript
zhiyual
摩羯座程序猿一枚!!!
展开
-
JS变量声明--var, let, const 的区别
JS变量声明--var, let, const 的区别letconstES6之前,我们都是使用 var 来声明一个变量。在ES6中,又新增加了 let 和 const 关键字用来声明变量。那么它们之间有何不同呢?下面本文将一一说明:letlet的用法与var十分相似,只是在功能上有以下几点不同:let 声明的变量只在定义的代码块内有效。比如下面代码中输出b就会报错!{ var a = 1; let b = 2;}console.log(a) // 1console.log(b)原创 2020-06-11 20:50:06 · 281 阅读 · 1 评论 -
JS实现批量并发请求
要求:实现一个批量请求函数 multiRequest(urls, maxNum),要求最大并发数 maxNum,每当有一个请求返回,就留下一个空位,可以增加新的请求,所有请求完成后,结果按照 urls 里面的顺序依次打出。// 模拟ajax请求function majax(url) { return new Promise((resolve, reject)=>{ setTimeout(() => { const res = {原创 2020-06-10 22:59:10 · 5543 阅读 · 0 评论 -
js 获取汉字字符串长度
在Unicode编码中,由于码点大于0xFFFF的字符必须用双字节表示,导致使用String.length获取这些字符串长度时会返回2。例如:"啊".length// 1"????".length// 2那么我们该如何正确的获取包含这些字符的字符串长度呢?此时可以使用ES6新增的扩展运算符(...)将字符串转为数组,然后获取数组的长度。like:[..."????"].length// 1...原创 2020-06-10 20:07:24 · 2322 阅读 · 0 评论 -
记 egret 颜色传值踩坑
今天遇到了一个很蛋疼的问题,用egret引擎开发的小游戏发布到微信小游戏后,使用Win PC的客户端打开后发生了闪退。why? 内存爆了?运行环境问题?nonono!多方追查下发现原因是这个:// spTxt: egret.textFieldspTxt.strokeColor = 1.5;可以看到,描边颜色被设置成了1.5。。。在egret官网,对颜色值的要求是:可以接受一个16进制的颜色值,也可以接受其他进制的数字。但推荐使用16进制。这样一看1.5也没问题啊!但是再看一下原创 2020-06-03 20:41:27 · 967 阅读 · 0 评论 -
记实现 Promise.retry()
要求:实现 Promise.retry,成功后 resolve 结果,失败后重试,尝试超过一定次数才真正的 reject。Promise.retry = (fun, limit = 5) => { return new Promise((resolve, reject) => { let __num = 1; let __run = () => { fun() .then(res => {原创 2020-06-02 10:35:03 · 837 阅读 · 0 评论 -
JS生成随机汉字
咱们的汉语可谓博大精深,汉字量更是十分庞大,计算机想要随机生成汉字,可以通过随机生成16进制的Unicode编码来实现。关于Unicode编码,可以参考百度百科中的说明:Unicode-百度百科。Unicode编码是16进制数,其中汉字对应范围为4E00-9FA5,转换为10进制数就是19968-40869 。so...function getRandomChineseWord () { var _rsl = ""; var _randomUniCode = Math.f.原创 2020-06-01 20:45:32 · 9115 阅读 · 3 评论