js
踏着阳光
这个作者很懒,什么都没留下…
展开
-
nodejs 文件操作
import fs from 'fs';import path from 'path';import glob from 'glob';import mkdirp from 'mkdirp';import rimraf from 'rimraf';export const readFile = file => new Promise((resolve, reject) => { fs.readFile( file, 'utf8', (.原创 2020-09-08 12:13:53 · 204 阅读 · 0 评论 -
js 深拷贝对象库
const extend = require('extend2'); // for deep cloneextend(true, {}, object1, objectN);原创 2020-08-27 09:00:08 · 687 阅读 · 0 评论 -
javaScript中测试代码执行时间
console.time('time'); for (var i = 0; i < 10000000; i++) { i / 2; } console.timeEnd('time');原创 2020-04-08 17:46:05 · 1835 阅读 · 0 评论 -
node redis锁的实现
锁是一种同步机制,用于保证一项资源在任何时候只能被一个进程使用,如果有其他进程想要使用相同的资源,那么就必须等待,直到正在使用资源的进程放弃使用权为止。const redis = require("redis"), client = redis.createClient();client.on("error", function (err) { console.log("...原创 2020-03-09 23:18:26 · 1169 阅读 · 0 评论 -
颜色值16进制转rgba
/** * 颜色值16进制转rgba * @param {String} hex 16进制 * @param {Float} opacity 透明度 */ hexToRgba(hex, opacity) { let result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); retu...原创 2020-03-09 15:22:53 · 1837 阅读 · 1 评论 -
js 使用占位符拼接字符串
String.prototype.format = function() { if(arguments.length == 0) return this; var param = arguments[0]; var s = this; if(typeof(param) == 'object') { for(var key in param) ...原创 2019-11-25 15:51:21 · 2281 阅读 · 0 评论 -
setTimeout与resolve、setImmediate比较
//setTimeout是在下一轮“事件循环”的开始时setTimeout(function () { console.log('three');}, 0);//立即resolve()的 Promise 对象,是在本轮“事件循环”(event loop)的结束时执行Promise.resolve().then(function () { console.log('two...原创 2019-11-15 13:29:51 · 551 阅读 · 0 评论 -
基于await 实现sleep函数
function sleep(interval) { return new Promise(resolve => { setTimeout(resolve, interval); })}async function oneAsync() { await sleep(1000); console.log(1)}oneAsync();...原创 2019-11-15 13:26:31 · 2241 阅读 · 0 评论 -
mapv 地理信息可视化开源库
https://github.com/huiyan-fe/mapv/#readme原创 2019-04-19 16:24:17 · 2085 阅读 · 0 评论 -
JSON 使用
JSON:JavaScriptObjectNotation(JavaScript 对象表示法)JSON 是存储和交换文本信息的语法。类似 XML。JSON 比 XML 更小、更快,更易解析。语法JSON 语法是 JavaScript 对象表示语法的子集。数据在名称/值对中 数据由逗号分隔 大括号保存对象 中括号保存数组JSON 名称/值对JSON 数据的书写...原创 2019-04-24 16:24:37 · 105 阅读 · 0 评论 -
vue 饿了么组件 Element
https://element.eleme.cn/#/zh-CN/component/border原创 2019-06-20 23:44:07 · 13167 阅读 · 0 评论 -
iframe基于postMessage实现跨域通信
window.postMessage()方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机 (两个页面的模数Document.domain设置为相同的值) 时,这两个脚本才能相互通信。window.postMessage()方法提供了一种受控机制来规避此限制,只要正确的使用,这...原创 2019-04-19 11:29:53 · 658 阅读 · 0 评论 -
js 字典与Map对象
字典是一种以键-值对形式存储数据的数据结构,像电话簿里面的电话和号码一样,本文字典的的基础类为Array.字典实现:function Dictionary() { this.datastore = []; this.add = add; this.find = find; this.remove = remove; this.showAll =...原创 2019-04-22 18:39:14 · 9599 阅读 · 0 评论 -
js Object.keys()用法
Object.keys()方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in循环遍历该对象时返回的顺序一致 。语法Object.keys(obj)参数obj要返回其枚举自身属性的对象。返回值一个表示给定对象的所有可枚举属性的字符串数组。例子// 数组var arr = ['a', 'b', 'c'];...原创 2019-04-22 18:11:14 · 120 阅读 · 0 评论 -
JavaScript 多线程-Web Worker 使用教程
w3c在线教程http://www.w3school.com.cn/html5/html_5_webworkers.aspWebwork APIhttps://developer.mozilla.org/zh-CN/docs/Web/API/Web_Workers_API/Using_web_workers一、概述JavaScript 语言采用的是单线程模型,也就是说,所有任务只...转载 2019-04-16 17:37:03 · 346 阅读 · 0 评论 -
Web 开发技术
https://developer.mozilla.org/zh-CN/docs/Web原创 2019-04-16 13:39:41 · 1224 阅读 · 0 评论 -
framework7 -HTML框架创建iOS应用
http://framework7.taobao.org/原创 2019-04-16 13:37:45 · 678 阅读 · 0 评论 -
15 款 富文本编辑器
1 百度UEditor官方网址:http://ueditor.baidu.com/website/UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码...2 bootstrap-wysiwyg官方网址:http://www.bootcss.com/p/bootstrap-...转载 2019-04-24 18:13:16 · 2648 阅读 · 0 评论 -
jq分享插件share.js
https://github.com/overtrue/share.js原创 2019-05-10 12:44:24 · 2202 阅读 · 0 评论 -
js 音频库
https://howlerjs.com/原创 2019-03-22 10:06:57 · 587 阅读 · 0 评论 -
js 数字格式化库
decimal.js提供十进制类型的任意精度数值官网:http://mikemcl.github.io/decimal.js/GitHub:https://github.com/MikeMcl/decimal.jsbig.js一个小型,快速,易于使用的库,用于任意精度的十进制算术官网:http://mikemcl.github.io/big.jsGitHub:https://git...原创 2019-08-27 18:33:44 · 1743 阅读 · 0 评论 -
js 扩展对象以及对象下的方法
//扩展对象以及对象下的方法const extend = (...arguments) => { let obj = {}; //Array.prototype.slice.call(arguments) 将类数组转化为真正的数组 //Array.from()方法或扩展运算符将参数转换为真实数组:Array.from(arguments); [].slic...原创 2019-08-22 17:12:29 · 484 阅读 · 0 评论 -
常用正则表达式
一、校验数字的表达式数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ 正数、负数、和小...原创 2019-08-20 19:33:21 · 167 阅读 · 0 评论 -
js 拼接url和参数
class Url { /** * 传入对象返回url参数 * @param {Object} data {a:1} * @returns {string} */ getParam(data){ let url = ''; for(var k in data){ let value =...原创 2019-08-20 11:23:33 · 18139 阅读 · 0 评论 -
面试题
0 实现add(3,4),add(3)(4)用一个函数function add(a,b) { if (b) { return a + b; } var c = a; return function (a) { return c + a; }}console.log(add(3)(4));console.log(add(3,4));1 ...原创 2019-06-18 17:45:20 · 106 阅读 · 0 评论 -
前端缓存
https://blog.csdn.net/wanshaobo888/article/details/83818411原创 2019-06-21 00:18:31 · 104 阅读 · 0 评论 -
jq滚动条插件
http://www.jq22.com/jquery-info124原创 2019-05-29 02:16:24 · 438 阅读 · 0 评论 -
js 位运算
重温整数ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢?有符号整数使用 31 位表示整数的数值,用第 32 位表示整数的符号,0 表示正数,1 表示负数。数值范围从 -2147483648 到 2147483647。可以以两种不同的方式存储二进制形式的有符...原创 2019-04-12 17:58:47 · 2656 阅读 · 1 评论 -
判断不同类型浏览器
var inBrowser = typeof window !== 'undefined';var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;var weexPlatform = inWeex && WXEnvironment.platform.toLow...原创 2019-04-03 13:38:00 · 210 阅读 · 0 评论 -
grunt 打包雪碧图 grunt-spritesmith
安装npm install grunt-spritesmith --save-devmodule.exports = function (grunt) { // Configure grunt grunt.initConfig({ sprite:{ all: { src: 'path/to/your/sprites/*.png',////素...原创 2019-04-04 14:14:46 · 169 阅读 · 0 评论 -
grunt 使用实例
Grunt 依赖 Node.js 所以在安装之前确保你安装了 Node.js。然后开始安装 Grunt。Grunt命令行(CLI)安装到全局环境npm install -g grunt-cli每次运行grunt时,他就利用node提供的require()系统查找本地安装的 Grunt。正是由于这一机制,你可以在项目的任意子目录中运行grunt。如果找到一份本地安装的 Grunt,...原创 2019-04-04 14:05:57 · 212 阅读 · 0 评论 -
b4w api笔记
1 var vec3_cam = new Float32Array(3);var m_vec3 = require("vec3");var empty = m_vec3.create();两个相等2 四元数旋转var _vec4_tmp = new Float32Array(4);var quat_old = m_trans.get_rotation(obj, _vec4_...原创 2019-03-29 16:54:32 · 478 阅读 · 0 评论 -
js图表库 echart
官方文档:https://www.echartsjs.com/examples/1图例 legendlegend: { //可以通过点击图例控制哪些系列不显示。 // data: ["访问"], show: true, zlevel: 0, left: 200, top: 20, width: "auto", height:...原创 2019-03-22 10:07:12 · 774 阅读 · 0 评论 -
移动端手势库 hammerjs(支持多点触控)
https://hammerjs.github.io/原创 2019-03-22 10:07:05 · 534 阅读 · 0 评论 -
js 随机数
function getRandomInt(min,max) { return Math.floor((max - min + 1) * Math.random()) + min;}原创 2019-03-22 10:06:48 · 76 阅读 · 0 评论 -
js 绘制五角星
var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); context.beginPath(); //设置是个顶点的坐标,根据顶点制定路径 for (var i = 0; i < 5; i++) { ...原创 2019-03-22 10:06:05 · 3880 阅读 · 0 评论 -
angular 解决页面会闪一下
1使用 ng-cloak<style type="text/css">[ng-cloak]{display:none;}</style><body ng-app ng-init="name='张三'" ng-cloak> {{name}}</body>由于执行会很快,通常的做法是通过类来控制:<style ...原创 2019-03-22 10:05:53 · 1216 阅读 · 0 评论 -
浏览器全屏模式
function toggleFullScreen() { var container = document.getElementById("container_id"); if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscr...原创 2019-03-21 17:00:43 · 384 阅读 · 0 评论 -
js跨域解决办法
https://www.cnblogs.com/2050/p/3191744.html转载 2019-03-11 18:54:30 · 338 阅读 · 0 评论 -
js apply 和 call
区别:apply()方法调用具有给定this值的函数,并arguments作为数组(或类数组对象)(参数为数组)call 和 apply 能够改变函数运行时的上下文(context),改变this的指向apply语法:function.apply(thisArg, [argsArray])thisArg:可选,如果是null并且undefined将被全局对象替换,this调用...原创 2019-03-14 20:31:05 · 92 阅读 · 0 评论