JS对象类型-函数进阶篇-高阶函数

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JS对象类型-函数进阶篇-高阶函数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

定义

高阶函数指操作函数的函数。高阶函数需要满足两个条件:函数可以作为参数被传递;函数可以作为返回值输出。

参数传递

日常开发中,把函数作为参数传递是很常见的情况,通常为了分离出容易变化的业务逻辑,会这部分逻辑放到一个函数参数里。

【回调函数】一个常见的场景,在使用ajax请求数据时,通常把一个回调函数作为参数传给ajax请求的方法,目的是待请求完成后方便外部函数操作数据。

var getUserData = function (id, callback){
  $.ajax('http://example.com/getUserData?id='+id, function(data){
	if(typeof callback === 'function'){
	  callback(data)
	}
  })
}

getUserData(100, function(data){
	// todo
})

getUserData(200, function(data){
	// todo
})

【数组排序】数组的sort()方法也是一个高阶函数,它接收一个函数作为参数,方便我们自定义排序规则

// 从小到大排序
[ 1, 3, 2 ].sort( function( a, b ){ 
  return a - b;
})
// [1,2,3]

// 从大到小排序
[ 1, 3, 2 ].sort( function( a, b ){ 
  return b - a;
})
// [3,2,1]

返回值输出

函数执行后返回一个可执行函数,这也意味着函数的运算过程是可持续的。

【示例】mapper()函数执行完成后返回一个新函数,这个新函数将一个数组映射到另一个使用该函数的数组上。

function mapper(fn) {
  return function(arr) {
   return Array.prototype.map.call(arr, fn)
  }
}

var increment = function(num) {
  return num + 1
}

var result = mapper(increment)([1,2,3])
console.log(result) // [2,3,4]

脚本宝典总结

以上是脚本宝典为你收集整理的JS对象类型-函数进阶篇-高阶函数全部内容,希望文章能够帮你解决JS对象类型-函数进阶篇-高阶函数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: