JS中把函数作为另一函数的参数传递方法(总结)
网络编程 2021-07-04 18:32www.168986.cn编程入门
狼蚁网站SEO优化长沙网络推广就为大家带来一篇JS中把函数作为另一函数的参数传递方法()。长沙网络推广觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随长沙网络推广过来看看吧
今天在给元素注册事件的时候,使用addEventListener遇到了一个问题,这个好像之前也遇到过,觉得有必要一下,就是js函数作为参数引发的问题。看以下代码,觉得狼蚁网站SEO优化代码有问题吗?是否能达到点击id3对应的元素后,弹出id3呢?
例1
var obj3=document.getElementById('id3'); obj3.addEventListener('click',curClick('id1'),true); function curClick(id){ alert(id); }
答案是否定,不能达到我想要的效果,因为这行代码在页面加载完成时候,就会弹出id3。当我单击id3对应的元素时候,页面没有任何反应。
于是我将代码改为如下两种情况
例2
var obj3=document.getElementById('id3'); obj3.addEventListener('click',function(e){curClick('id3');sPropagation(e)},true); function curClick(id){ alert(id); }
例3
var obj1=document.getElementById('id1'); obj1.addEventListener('click',curClick1,true); function curClick1(){ alert('okey'); }
这次执行正常了,这是为什么呢?
因为在JS世界里curClick('id3')就是直接调用curClick('id3'),而非将其作为一个参数来传递,如果要将其作为一个参数来传递,如果不需要传递参数,直接传递函数名就可,如果需要传递参数,有两种解决办法
方法一借助匿名函数,将要传递的函数,放在匿名函数中,将匿名函数作为参数如例2
eg将function(){myfunction(val1,val2,......);}作为参数传递。
第二改写需要传递函数
function curClick1(val){ <span style="white-space:pre"> </span>return function(){ alert(val); }; }
以上这篇JS中把函数作为另一函数的参数传递方法()就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指