关于js中高阶函数的认识

Javascript中的高阶函数,是我们在编程中使用的一种重要的函数式编程,它的主要形式有两种。一种是把函数作为参数传递到另外一个函数中(例如:事件监听器),另一种是把函数作为返回值放入另外的函数中(例如:闭包函数)。

 

把函数作为参数传递的形式:

例:创建10个div并给每一个div中添加相应的数字

<body>

<div id="container">

 

</div>

</body>

<script>

//创建函数

function create(fn){

var  container = document.getElementById('container');

for(var i=0;i<10;i++){

var  div = document.createElement('div');

div.innerHTML = i+1;

container.appendChild(div);

if( typeof fn =='function'){

 

fn(div);

}else{

console.log('输入错误!')

 

}

}

}

 

 

//子元素添加样式

//样式一

function setStyle(div){

div.style.margin ='0 auto';

div.style.width = '100px';

div.style.height = '100px';

div.style.background = 'deeppink';

div.style.border = '1px solid black';

div.style.display = 'inline-block';

}

 //样式二

function setStyle1(div){

div.style.margin ='0 auto';

div.style.width = '50px';

div.style.height = '50px';

div.style.background = 'blue';

div.style.border = '1px solid black';

div.style.display = 'inline-block';

}

 

create(setStyle);

create(setStyle1);

</script>

把函数作为返回值形式

例:利用高阶函数,实现简单的加减乘除计算器

//计算公式

function add(a,b){

return a+b;

};

function sub(a,b){

return a-b;

};

function mul(a,b){

return a*b;

};

function div(a,b){

return a/b;

};

//高阶函数计算器

function calc(fn){

return function(){

if(typeof fn == 'function'){

return fn.apply(this,arguments);

}

}

};

var a = calc(add)(1,2);

var b = calc(sub)(1,2);

var c = calc(mul)(1,2);

var d = calc(div)(1,2);

console.log(a);//输出3

console.log(b);//输出-1

console.log(c);//输出2

console.log(d);//输出0.5

转载于:https://www.cnblogs.com/fyh123/p/5990024.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值