js中带有参数的函数作为值传入后调用问题

简介: js中带有参数的函数作为值传入后调用问题

1.无参数函数作为参数传入调用

当根据实际情况,函数需要作为参数传入时,一般采用如下方式直接调用即可:

function fuc1() {
  console.log(1);
}
function fuc2(a) {
  a();
}
fuc2(fuc1); // 1

2.有参数函数作为参数传入调用

一般的函数都有参数,那么这种情况如何传参呢?可以使用如下方式:更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

function fuc1(param) {
  console.log(param);
}
function fuc2(a, b) {
  a(b);
}
fuc2(fuc1, "欢迎关注微信公众号:全栈技术精选");

3.有参数函数作为事件方法

现在要将传入的函数作为点击事件的处理程序,你一定想得是这样:

function fuc1(param) {
  alert(param);
}
var link = document.getElementsByClassName("link1");
link.onclick = fuc1("我是小闫同学啊");

但是不好意思,「不需要点击,一刷新页面,直接调用函数」,弹出窗口!

因为在你写 fuc1("我是小闫同学啊") 时,默认就调用了此函数,都不需要点击。

如何才能达到在点击时才弹出窗口呢?你需要这样做:

//请关注:全栈技术精选
function fuc1(param) {
  alert(param);
}
var link = document.getElementById("link1");
link.onclick = function() {
  fuc1("我是小闫同学啊");
  return false;
};
相关文章
|
19天前
|
JavaScript
|
27天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
27天前
|
JavaScript
常见函数的4种类型(js的问题)
常见函数的4种类型(js的问题)
11 0
|
1天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
2天前
|
存储 JavaScript 前端开发
每日一道javascript面试题(九)函数的参数可以和函数体中的变量重名吗
每日一道javascript面试题(九)函数的参数可以和函数体中的变量重名吗
|
2天前
|
JavaScript 前端开发
每日一道javascript面试题(七)你真的知道箭头函数吗
每日一道javascript面试题(七)你真的知道箭头函数吗
|
6天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield 'Hello'; yield 'World'; } ``` 创建实例后,通过`.next()`逐次输出"Hello"和"World",展示其暂停和恢复的特性。
16 0
|
13天前
|
缓存 JavaScript 前端开发
js的入口函数,入口函数的作用
js的入口函数,入口函数的作用
16 4
|
18天前
|
JavaScript 前端开发
JS的入口函数,并讲解入口函数的作用
JS的入口函数,并讲解入口函数的作用
10 0
|
22天前
|
JavaScript
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集