
code snippet
礁岸
如果世界上的知识是整个地球,我所学到的不过是一颗沙子
展开
-
一些数组去重解决方案(简)
var arr = [, , 0b001, -Infinity, Infinity, +Infinity, 1, 1, 'true', +0, -0, [], [], [0], [0], 0, 'true', true, true, 15, 15, false, false, undefined, undefined, null, null, NaN, NaN, 'NaN', 0, 0,原创 2020-10-08 14:18:03 · 181 阅读 · 0 评论 -
7种继承方式的比较(js)
前言对于js这种面向过程的编程语言而言,oo不是它的强项,但有时也会在代码中OOP。这里收集了七种继承方式,并测试做了比较。还有一些其他的实现形式暂未考虑,比如通过拷贝的形式实现继承;由于技术原因,具体用到哪些场景不是很在行,所以这里就做一些简单的示范和介绍。代码 /** * https://www.cnblogs.com/qing-5/p/11365614.html * 父级构造函数中的属性在子级实例上有一份在原型上有一份(多余),浪费内存原创 2020-10-06 21:39:31 · 236 阅读 · 0 评论 -
记录一次axios的封装(代码片段收集)
/**axios封装//https://blog.youkuaiyun.com/qq_43388107/article/details/108072077*///request.jsimport axios from 'axios'export function request(config) { // 1.创建axios的实例 const instance = axios.create({ baseURL: 'http://my-json-server.typicod原创 2020-08-20 18:28:06 · 201 阅读 · 0 评论 -
深拷贝
function deepCopy(x) { /* * 深拷贝,能拷贝对象和数组的JSON对象。 * deepCopy(x) * @arg{x} Object,Arr * return copied object,arr * issue 数组不能好支持 fixed by pan * https://www.cnblogs.com/dobeco/p/11295316.html * @dobeco */ const.转载 2020-07-14 21:40:06 · 127 阅读 · 0 评论 -
求随机数
/** * https://www.runoob.com/jsref/jsref-random.html * @菜鸟教程 */function getRndInteger(min, max) {//[min,max) return Math.floor(Math.random() * (max - min + 1) ) + min;}function getRndInteger(min, max) {//[min,max] return Math.floor(Math.random()转载 2020-07-14 21:24:55 · 149 阅读 · 0 评论 -
格式化时间(函数)
/** * https://www.cnblogs.com/thunderLL/p/10986727.html * @ 雷子-LL */function dateFormat(fmt, date) { let ret; let opt = { "Y+": date.getFullYear().toString(), // 年 "m+": (date.getMonth() + 1).toString(), // 月转载 2020-07-14 21:12:22 · 452 阅读 · 0 评论 -
格式化时间
/** * https://blog.youkuaiyun.com/u012789986/article/details/53317858 * @IT_Debug */Date.prototype.Format = function(fmt) { //格式化时间 var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日转载 2020-07-14 21:06:54 · 123 阅读 · 0 评论 -
比较时间并计算时间差
/** * 博客园@utf_8 * https://www.cnblogs.com/pan-4957/p/10693874.html */function(start, end) { /* * 比较时间并计算时间差:多少天,小时,分,秒 * @arg start 开始时间 * @arg end 结束时间 * return 一个对象,第转载 2020-07-14 21:00:03 · 274 阅读 · 0 评论 -
js正则表达式库
/** * js正则表达式库--Regs.js * by denghao.me @邓浩 * @date 2017-02-11 18:09:35 * @用法: RegsLib.en.test('abc') -> true */var RegsLib = { /* * 数字相关 */ //正数(可含小数、0) posiNum: /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/, //正整数 pos原创 2020-07-14 20:30:17 · 1343 阅读 · 0 评论 -
一个简单的策略模式
/** * 简单的单例模式 * 《js设计模式》 */// 一系列的函数作为策略//函数作为变量四处传播var S = salary => salary * 400;var A = salary => salary * 300;var B = salary => salary * 200;var C = salary => salary * 100;// contextvar calcBonus = (fnc, salary) => fnc(sala原创 2020-07-14 19:54:37 · 114 阅读 · 0 评论 -
惰性单例
/** * 惰性单例 * 《js设计模式》 */function Singleton(name) { this.name = name}/**x需要的时候再生成,而不是页面开始就生成 */var instance = Singleton.getInstance = (function() { var instance = null; return function(name) { if (instance) { return i原创 2020-07-14 19:52:52 · 179 阅读 · 0 评论 -
一种节流实现方式
/** * 当函数被执行的频率非常高的时候(比如一秒钟被执行多少次) * 实际上只需要一秒钟被调用2-3次 * 为了提高性能,就需要节流 * 《js设计模式》 */var throttle = function(fn, interval) { //每多长时间执行一次 var _self = fn, timer, firstTime = true; return function() { var args = arguments,原创 2020-07-14 19:49:04 · 285 阅读 · 0 评论 -
策略模式示例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>一般表单验证 </title></head><body> <form原创 2020-07-14 19:47:27 · 151 阅读 · 0 评论 -
函数柯里化-代码片段
//函数柯里化 *js设计模式var currying = function(fn) { var args = []; return function cd() { if (arguments.length === 0) { return fn.apply(this, args); } else { Array.prototype.push.apply(args, [].slice.call(arguments原创 2020-07-14 19:44:32 · 121 阅读 · 0 评论 -
为元素添加拖动事件(含例子)
//张鑫旭大神function startDrag(triggerElement, targetElement) { //定义拖动事件 triggerElement.addEventListener('mousedown', function(event) { //按下添加鼠标移动和放下事件 var originMouseX, originMouseY, moveX, moveY; //鼠标xy坐标,鼠标移动多少 originMouseX =原创 2020-10-25 14:03:14 · 567 阅读 · 0 评论 -
表单序列化
/*** 表单序列化* 序列化有name属性并且不是提交重置等输入* @form一个form元素* 返回值:序列化后的值以&号隔开* 20200712* javascript高级程序设计*/function serialize(form) { var parts = [], //结果字符串的数组 field = null, //表单里面的每一个输入 i, //遍历表单元素计数原创 2020-07-14 15:04:29 · 144 阅读 · 0 评论