Currying 为实现多参函数提供了一个递归降解的实现思路——把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数,在某些编程语言中(如 Haskell),是通过 Currying 技术支持多参函数这一语言特性的。 所以 Currying 原本是一门编译原理层面的技术,用途是实现多参函数。 在《Mostly adequate guide》一书中,这样总结了 Currying ——只传递给函数一部分参数...
我不明白这段代码是如何导致内存泄漏的.var theThing = null; var replaceThing = function () {var originalThing = theThing;var unused = function () {if (originalThing)console.log("hi");};theThing = {longStr: new Array(1000000).join('*'),someMethod: function () {console.log(someMessage);}}; }; setInterval(replaceThing, 1000);如果我在函数replaceThing的末尾将originalThing设置为null,那么一切都会好的.但我没...
举例: 1 <button>按钮</button>2 3 <script>4 function throttle(method,context){5 clearTimeout(method.tId);6 method.tId = setTimeout(() => {7 method.call(context);8 }, 1000);9 } 10 11 function myFun(){ 12 console.log("click") 13 } 14 15 document.querySelector(button).addEventListener("cl...
为元素添加on方法 Element.prototype.on = Element.prototype.addEventListener; NodeList.prototype.on = function (event, fn) {、 [][‘forEach’].call(this, function (el) { el.on(event, fn); }); return this; }; 为元素添加trigger方法 Element.prototype.trigger = function(type, data) { var event = document.createEvent(“HTMLEvents”); event.initEvent(type, true, true); event.data = data || {}; event.event...
function interval(delay=1000){return new Promise((resolve,reject)=>{let id = setInterval(()=>{console.log(1)},delay)})}interval()//这里不给值,他会使用默认的1000,每隔1000mm输出1interval(100)//这里给值,他会用这里给的,不用默认值,每隔100mm输出1
复制过去使用就好,记得传参和调用,已经封装好了() //封装一个处理时间的函数 export function formDate(date){let fmt = new Date(date)//转化为标准时间格式console.log(fmt)//输出一下是否转化完成,可删let fmtAll = {year: fmt.getFullYear(),//获取年份month: fmt.getMonth() + 1,//获取月份,月份是从0开始的所以需要+1day: fmt.getDay(),//获取几号hour: fmt.getHours(),//获取几点min: fmt.getMinutes(),//获取几分mia...
1.防抖 防抖原理: 原理参考楠丶的文章 事件响应函数在一段时间后才执行,如果在这段时间内再次调用,则重新计算执行时间。可理解为通过setTimeout的方式,在一定时间间隔内,将多次触发转变成一次触发。 应用场景: scroll时间滚动触发 搜索框输入查询 表单验证 按钮提交事件 浏览器窗口缩放 代码实现 可以参考B站Up主: 小野森森test() {console.log(1);}div.onmouseover = debounce(test); // test 是我们的一个回调函数// 三个...
函数的定义: 具有一定功能,封装成函数。 【函数三要素】函数名参数(形参,实参)返回值声明函数 1、字面量创建(有叫声明式函数) function 函数名() {函数体} 2、构造函数 let 函数名 = new Function();console.log(typeof 函数名);//function 3、函数表达式 let 函数名1 = function 函数名2(){}函数名1();//匿名函数表达式let 函数名1 = function(){}函数名1(); 函数的调用:函数名();返回值 在函数体里写return 表达式; 当函数...