当前位置: 首页 > wzjs >正文

西安微信商城网站开发二级目录做网站

西安微信商城网站开发,二级目录做网站,站酷网在线官网,开发一个外卖app需要多少钱文章目录 2621睡眠函数2629复合函数2665计数器|| 这三个题目涉及setTimeout、promise、数组reduce方法,闭包。 2621睡眠函数 请你编写一个异步函数,它接收一个正整数参数 millis ,并休眠 millis 毫秒。要求此函数可以解析任何值。 原理&am…

文章目录

    • 2621睡眠函数
    • 2629复合函数
    • 2665计数器||

这三个题目涉及setTimeout、promise、数组reduce方法,闭包。

2621睡眠函数

请你编写一个异步函数,它接收一个正整数参数 millis ,并休眠 millis 毫秒。要求此函数可以解析任何值。
在这里插入图片描述

  • 原理:返回一个promise,在这个promise中进行一个对应时长的延迟setTimeout,延迟结束执行resolve。
async function sleep(millis) {return new Promise((resolve,reject)=> {setTimeout(()=>{resolve();},millis)})
}

setTimeout的本质是延迟执行,只执行一次。一般用于延迟指定的时间后执行一次回调函数。
setInterval的本质是定时执行,会不断重复执行,直到取消。所以这个题要用setTimeout。

2629复合函数

请你编写一个函数,它接收一个函数数组 [f1, f2, f3,…, fn] ,并返回一个新的函数 fn ,它是函数数组的 复合函数 。
[f(x), g(x), h(x)] 的 复合函数 为 fn(x) = f(g(h(x))) 。
一个空函数列表的 复合函数 是 恒等函数 f(x) = x 。
你可以假设数组中的每个函数接受一个整型参数作为输入,并返回一个整型作为输出。
在这里插入图片描述

  • 原理:初始值为x,(param,fn)代表param初始值= x,而当前正在处理的数组元素是fn,箭头函数执行fn(param),然后将结果赋给param,作为下一个fn的入参,由于从右往左执行,因此使用reduceRight代替reduce。
/*** @param {Function[]} functions* @return {Function}*/
var compose = function(functions) {  return function(x) {return functions.reduceRight((param,fn)=>fn(param),x)}
};
/*** const fn = compose([x => x + 1, x => 2 * x])* fn(4) // 9*/
  • 如果这里functions.reduceRight((target,fn)=>fn(target),x)还是感觉很晕,可以
    对应数组累加和arr.reduce((acc,curvalue)=>acc+curvalue,0)进行理解。
    还不理解就要补点reduce的语法知识了,看JS数组方法reduce来深入了解一下reduce的语法。

2665计数器||

请你写一个函数 createCounter。这个函数接收一个初始的整数值 init。并返回一个包含三个函数的对象。
这三个函数是:
increment() 将当前值加 1 并返回。
decrement() 将当前值减 1 并返回。
reset() 将当前值设置为 init 并返回。
在这里插入图片描述
原理:闭包。
什么是闭包?
闭包指的是一个函数可以记住其外部变量并且可以访问这些外部变量

函数在创建时,会创建一个隐藏起来的environment属性,这个属性记住了它们创建的位置,当在函数内部找不到变量时,它们可以访问外部变量。

在increment()中并没有定义temp,于是访问createCounter()中的temp,++temp会返回+1后的结果,同时这也将修改外部temp的值,所以如果连续调用就会持续加1。其他函数同理。

/*** @param {integer} init* @return { increment: Function, decrement: Function, reset: Function }*/
var createCounter = function(init) {let temp = init;return { increment:function(){return ++temp;},decrement:function(){return --temp;},reset:function(){temp = init;return temp;}}
};

文章转载自:

http://MX3neFqe.wnkjb.cn
http://F6hgog1o.wnkjb.cn
http://8HUwaPzq.wnkjb.cn
http://Md1psVpq.wnkjb.cn
http://u8p5fuMz.wnkjb.cn
http://xSWPC4xn.wnkjb.cn
http://KqoTadkb.wnkjb.cn
http://1ofXwg1z.wnkjb.cn
http://1tgQzCgT.wnkjb.cn
http://4OUAAmCn.wnkjb.cn
http://199DbdNz.wnkjb.cn
http://MB6QoJjP.wnkjb.cn
http://7pIW6wBb.wnkjb.cn
http://U3L6wrnr.wnkjb.cn
http://0q44sHSa.wnkjb.cn
http://ydpA7YMQ.wnkjb.cn
http://k18QPJPM.wnkjb.cn
http://b1uih4Cb.wnkjb.cn
http://EciavCQo.wnkjb.cn
http://BRths1Qp.wnkjb.cn
http://sZO9693Z.wnkjb.cn
http://zVQ3XeyM.wnkjb.cn
http://b5eCpzlB.wnkjb.cn
http://gLv5sIGN.wnkjb.cn
http://sFmjV85A.wnkjb.cn
http://rlrE4bhS.wnkjb.cn
http://L95bjkni.wnkjb.cn
http://WyVx7ECQ.wnkjb.cn
http://my1jPNZH.wnkjb.cn
http://mARMLzuH.wnkjb.cn
http://www.dtcms.com/wzjs/725993.html

相关文章:

  • 儿童玩具商城网站建设山东省建筑住房和城乡建设厅网站
  • 大连提高网站排名成都网站开发培训机构
  • 如何做手机网站如何在文本上做网站链接符号
  • 网站内容建设要求 age06山西品牌设计公司
  • 网站什么做的西安网站建设那家强
  • 企业门户网站建设jsp做网站技术服务费属于什么科目
  • app网站建设教程视频长春火车站停运了吗
  • 网站后台 开源南昌做网站的
  • 长沙有什么做试卷的网站网页制作模板百度云
  • 保险公司网站建设方案无会员无充值传奇手游
  • 企业网站源码免费带数据库网站换域名seo怎么做
  • 做网站前端有前途么营销企业网站制作
  • 广西建设厅考试网站阿里巴巴做外贸的网站
  • 宁波外贸网站建设和推广个人网站备案备注
  • 有了网站模板 还要怎样做网站开发语言有那些
  • 长沙建站宝网络科技有限公司如何把网页字体转换为wordpress
  • 佛山网站推广优化做网站如何收益
  • 鄂州第一官方网站开发板种类
  • 泗洪网站wordpress 主题删除
  • 网站备案需要多长时间企业内部的网站系统
  • 如何做自己官方网站学校网站建设方法
  • 山东住房和城乡建设局网站首页wordpress商店
  • WordPress大前端top攀枝花seo
  • 网站没有流量怎么办模板网页设计视频
  • 毕业设计做课程网站好vi设计都包括什么
  • 英铭长沙网站建设手机网站建设知识
  • 网站app开发费用毕业去设计公司还是企业
  • WordPress如何禁止游客访问专业做网站优化需要多久
  • 响应式网站怎么改万网怎样做网站调试
  • 营业执照包含网站开发建设品牌型网站