随笔分类 -  js

摘要:function isVisible(el) { const position = el.getBoundingClientRect() const windowHeight = document.documentElement.clientHeight // 顶部边缘可见 const topVis 阅读全文
posted @ 2021-04-25 16:31 心之所指,行之所至 阅读(61) 评论(0) 推荐(0)
摘要:/*** @des 判断数组属性是否相同* @param {Array} a1* @param {Array} a2* @return {Boolean}*/function arrayEqual(a1,a2){ if(a1.length !== a2.length) return false fo 阅读全文
posted @ 2021-04-01 16:42 心之所指,行之所至 阅读(311) 评论(0) 推荐(0)
摘要:1. 简单的利用sort进行打乱排序 arr.sort(function(){ return .5 - Math.random() }) 2. 洗牌算法打乱排序 function shuffle(arr) { let i = arr.length; while (i) { let j = Math. 阅读全文
posted @ 2020-09-29 22:12 心之所指,行之所至 阅读(235) 评论(0) 推荐(0)
摘要:Array.prototype.myMap = function(callback){ const self = this; return self.reduce((prev,next,index)=>{ prev.push(callback(next,index,self)) return pre 阅读全文
posted @ 2020-07-14 20:09 心之所指,行之所至 阅读(184) 评论(0) 推荐(0)
摘要:第一种方法 var arr = [1, 2, 3, [1, 2, 3, [4]]]; function flatten(arr) { while (arr.some(item => Array.isArray(item))) { arr = [].concat(...arr) } return ar 阅读全文
posted @ 2020-06-29 10:20 心之所指,行之所至 阅读(387) 评论(0) 推荐(0)
摘要:function jsonp (url,data) { return new Promise ((res,rej)=>{ //处理传进来的地址 let urlString = url.indexOf("?") ? "&" : "?"; //定义回调方法名 let callbackName = `js 阅读全文
posted @ 2020-05-16 15:28 心之所指,行之所至 阅读(114) 评论(0) 推荐(0)
摘要:call实现原理 Function.prototype.call = function () { var ctx = arguments[0] || window; ctx.fn = this; var args = []; for(let i = 0; i < arguments.length; 阅读全文
posted @ 2020-05-09 10:28 心之所指,行之所至 阅读(179) 评论(0) 推荐(0)
摘要:原型上的继承 //圣杯模式的继承 var inherit = (function(){ var F = function(){} return function(Target,Origin){ F.prototype = Origin.prototype; Target.prototype = ne 阅读全文
posted @ 2020-05-08 14:38 心之所指,行之所至 阅读(170) 评论(0) 推荐(0)
摘要:promise:用于解决回调地狱的问题。 原理的实现: class myPromise { constructor(executor) { this.resolve = this.resolve.bind(this) this.reject = this.reject.bind(this) this 阅读全文
posted @ 2020-05-08 14:21 心之所指,行之所至 阅读(235) 评论(0) 推荐(0)
摘要:防抖(debounce): 目的是为了让一定事件段连续的函数调用,只让其执行一次。(个人在工作中用到在搜索发起请求中会用的到些) function debounce(handler,delay){ var timer = null; return function(){ var self = thi 阅读全文
posted @ 2020-05-07 15:10 心之所指,行之所至 阅读(98) 评论(0) 推荐(0)
摘要:柯里化: 柯里化(Currying),又称部分求值(Partial Evaluation),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 核心思想是把多参数传入的函数拆成单参数(或部分)函数,内部再返回调用下一个单参数 阅读全文
posted @ 2020-05-07 14:54 心之所指,行之所至 阅读(370) 评论(0) 推荐(0)
摘要:在平时开发中没用到过”in“操作符,是在一片文章中看过了in的使用,好奇的去查了一个api才知道的。 in:如果指定的属性在指定的对象或原型链中,则in运算符会返回true。 用法:变量 in 对象 in在数组中的使用 var arr = [1,2,3,4,'a'] 0 in arr // true 阅读全文
posted @ 2020-05-07 14:19 心之所指,行之所至 阅读(355) 评论(0) 推荐(0)