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

淘宝装修免费模板有哪些网站中山建网站咨询电话

淘宝装修免费模板有哪些网站,中山建网站咨询电话,wordpress 价格表插件,seo关键词排名技巧本篇文章主要是介绍一下标题里面的概念,在面试的时候经常文档,结合阅读到的资料,结合本人的个人见解出品了该文章,如有写的不好的地方或理解有误的,还望阁下多多指教。 1、高阶函数 什么是高阶函数? 接受…

本篇文章主要是介绍一下标题里面的概念,在面试的时候经常文档,结合阅读到的资料,结合本人的个人见解出品了该文章,如有写的不好的地方或理解有误的,还望阁下多多指教。

1、高阶函数

什么是高阶函数?

  • 接受一个或多个函数作为输入

  • 输出一个函数

在React中的高阶组件本质上就是高阶函数。我们在开发umi搭建出来的项目的时候,那个withRouter本质上就是一个高阶函数。

2、柯里化

柯里化概念:将一个多元函数,转成一个依次调用的单元函数。

柯里化特点:

  • 返回一个函数
  • 当接受参数数量与原函数形参数量相同,执行原函数
  • 当小于形参数值,返回一个函数,用接收剩余参数,直到参数数量保持一致,才开始执行原函数。

举个例子,比如说我们有一个sum函数,接收a,b,c,d这四个参数,经过curry这个函数以后,可以依次传参数:

function sum(a, b, c, d) {console.log(a, b, c, d);
}var _sum = curry(sum);
var A = _sum(1)
var B = A(2)
var C = B(3)
var D = C(4)

那么curry这个函数具体是怎样的呢?来看一下代码:

function curry(fn) {return function curriedFn() {var args = Array.prototype.slice.call(arguments)if (args.length < fn.length) {// 参数不同return function() {var args2 = Array.prototype.slice.call(arguments)// 开始递归return curriedFn.apply(null, args.concat(args2))}}// 参数相同return fn(...args)}
}

接下来看一下在面试的时候见到的一个面试真题:

实现一个方法add(1)(2)(3)

这个题目还可以变形,实现一个方法add(1,2)(3)或者add(1)(2,3);

不管如何变形,使得最后加和的结果都是相同的。

这道面试题我在面试的时候真的见面试官问过,其实是考察柯里化和闭包的,我当时对于柯里化这个概念理解的不是很透彻,没写出让面试官满意的结果,结果面试挂了,挂了不怕,来复盘一下吧,下次面试在遇到同样的问题,一定要能写出来呀,来看一下答案吧:

function add() {var args = Array.prototype.slice.call(arguments);var currying = function() {args.push(...arguments);return currying;};currying.getSum = function () {return args.reduce(function (a, b) {return a + b;});}return currying;
}console.log('查看demo:', add(1,2)(3)(4,5).getSum());

3、纯函数

纯函数定义:纯函数是这样一种函数,即相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用。

比如数组的 slicesplice,

  • slice 符合纯函数的定义:因为对相同的输入它保证能返回相同的输出;

  • splice 却不同:会产生可观察到的副作用,即这个数组永久地改变了;


文章转载自:

http://TQeXvQ36.pjrqL.cn
http://Oczvv2rp.pjrqL.cn
http://FEIKGd5L.pjrqL.cn
http://H6micQDa.pjrqL.cn
http://6tjSwkPv.pjrqL.cn
http://dmP9n2nz.pjrqL.cn
http://o7j9bgUg.pjrqL.cn
http://2294RA6D.pjrqL.cn
http://9qcWn6S7.pjrqL.cn
http://lPY7ct8n.pjrqL.cn
http://68ymets6.pjrqL.cn
http://OPdsj7kQ.pjrqL.cn
http://Ljz2A4i2.pjrqL.cn
http://Smb8wyJ8.pjrqL.cn
http://TlWIUUQU.pjrqL.cn
http://3eybJuPW.pjrqL.cn
http://jXGfDwg7.pjrqL.cn
http://Ymw4wbzi.pjrqL.cn
http://HQgNEoNH.pjrqL.cn
http://cREXGjJI.pjrqL.cn
http://wcDXgLIu.pjrqL.cn
http://QVAis7sh.pjrqL.cn
http://tgQABW0R.pjrqL.cn
http://b2xtCjzy.pjrqL.cn
http://mCMzfFP4.pjrqL.cn
http://l2FlWT1K.pjrqL.cn
http://EtzkB7QV.pjrqL.cn
http://lWgngo3S.pjrqL.cn
http://70TPcT1o.pjrqL.cn
http://lw4tMHBa.pjrqL.cn
http://www.dtcms.com/wzjs/750369.html

相关文章:

  • 确定网站风格网站优化哪家最专业
  • wordpress音乐网站深圳画册设计策划
  • 学做网站论坛怎么样展览会建设网站平台的作用
  • 建设网站要不要工商执照广州十大游戏公司
  • 建站宝盒视频wordpress 知道创宇
  • dede网站怎么备份html的视频怎么下载
  • 网站后台服务建设集团股份有限公司
  • 有没有专门做线下活动的网站广告牌图片100例
  • 网站建设科研申报书免费的会计做账系统
  • 佛山网站建设联系忆达城市建设游戏网站
  • 学计算机的做网站的叫什么工作事件营销策划
  • 手机免费建站工具丰台成都网站建设
  • 做电影网站解析企业咨询管理师
  • 知道网站域名怎么联系北京网站建设app
  • 怎么把代码添加网站wordpress留言页
  • wordpress 后台添加文章 没编辑功能优秀seo平台
  • 南京建网站找哪家好网站公告栏怎么做
  • 网站费用清单wordpress 加速版
  • 网站多久被百度收录人才招聘网官网
  • 招投标建设网站的网站微信公众号商城网站开发
  • 网站背景颜色代码谷歌云wordpress绑定域名
  • 网站建设需要客户提供什么网站php怎么做的
  • 襄阳网站建设的公司网站变灰色代码
  • 龙信建设集团有限公司网站专注番禺网站优化
  • 百度做商务网站多少钱介绍一学一做视频网站吗
  • 个人网站的设计与实现的任务书东道设计有限公司
  • wordpress网站提速江苏省建设工程造价信息网官网
  • 做国外网站的零售公众号模板免费
  • 网友让你建网站做商城百度云登录入口官网
  • 网站域名修改泰安网站制作公司电话