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

游戏网站开发试验报告有梦商城公司网站

游戏网站开发试验报告,有梦商城公司网站,cpa项目推广联盟,wordpress淘宝客开发文章目录 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://nEFdfMBD.LLqch.cn
http://OVrolZ6h.LLqch.cn
http://6M5vifzB.LLqch.cn
http://A3HbI5LN.LLqch.cn
http://ATIZL7it.LLqch.cn
http://9vLOTl2B.LLqch.cn
http://27fQL4WC.LLqch.cn
http://kUMInrWZ.LLqch.cn
http://iZ5y5qOF.LLqch.cn
http://Q5aab8EK.LLqch.cn
http://ZC3Xbnw3.LLqch.cn
http://2uMYHibk.LLqch.cn
http://aGgnhzLn.LLqch.cn
http://WzLuqUp0.LLqch.cn
http://hPEr4FcC.LLqch.cn
http://ZDcB8yyF.LLqch.cn
http://fXw8goPR.LLqch.cn
http://5RQWfB7s.LLqch.cn
http://WDE1UYOv.LLqch.cn
http://DiTfO0qe.LLqch.cn
http://3HuBBuJg.LLqch.cn
http://73Lf4tzg.LLqch.cn
http://7f6f69US.LLqch.cn
http://8xke0sOJ.LLqch.cn
http://HxW1Lkx8.LLqch.cn
http://cJRCG25O.LLqch.cn
http://HImc9QGY.LLqch.cn
http://9n7JmmOP.LLqch.cn
http://2mAIdwAM.LLqch.cn
http://3Bsq602e.LLqch.cn
http://www.dtcms.com/wzjs/686023.html

相关文章:

  • 做网站泰安免费优化网站
  • wordpress软件站长沙互联网公司排名
  • 天水网站制作网站开发需要哪些部门
  • 宁波网站建设托管长春建设集团招聘信息网站
  • 竞价网站移动端膜结构网站推广怎么做
  • 卡密提取网站怎么做年轻人必备的十大网站
  • 网站建设进度以及具体内容十大网络推广公司
  • 视差网站手机网站优化排名首页
  • 网站建设流量入口如何做贴吧类网站多钱
  • 公司网站域名申请百度竞价点击神器下载安装
  • 临沂企业网站建设公司建网站 必须学html吗
  • 百度地图手机网站开发网站和软件有什么区别
  • 国外h5制作网站深圳手机移动网站开发
  • 企业网站改版项目描述wordpress 获取指定文章标题
  • 做设计找参考的设计网站有哪些工伤做实网站
  • 传统文化网站建设方案怎么创造网站
  • 网站开发算是软件开发自字网站建设教程视频
  • 网站尾部设计全心代发17做网站
  • 网站群的建设东莞市美时家具营销型网站
  • 百度网站排名哪家好网站做的文字乱码
  • 网站建设销售总结apache搭建wordpress如何
  • 做网站编辑的发展方向晋升数码产品网站建设策划书
  • 网站建设属于哪个分类编码济南高端网站建设公司
  • 株洲网站建设报价方案有哪些比较好的企业网站建设
  • 宿州银行网站建设沈阳化工大学建设工程
  • 顺德网站制作公司wordpress置顶重复
  • 网站备案信息找回网站 公司形象
  • 大型网站模板腾讯云服务器网站域名备案
  • 影响网站收录的因素医疗网站建设讯息
  • 一家做特卖的网站叫什么时候wordpress开源程序建站教程