为了账号安全,请及时绑定邮箱和手机立即绑定

js onclick 一定要匿名函数吗?

js onclick 一定要匿名函数吗?

慕沐林林 2019-02-05 11:07:51
function click_alert() {alert('123');}btn.onclick = click_alert;这样做没问题 页面加载完也不会自动执行。但是如果我要传递东西呢function click_alert(z) {alert(z);}btn.onclick = click_alert('a');这样就自动执行了
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

onclick是注册一个点击事件,上面一段的代码表示当这个页面元素被点击的时候会触发一个alert事件。

而下面那段的代码是说先执行一段包含alert的函数,然后再把函数的返回值null返回并绑定给onclick。

上面一段代码是会将点击事件绑定给btn的,但是下面那段只会在页面加载到这段时运行一下这个函数

正常情况下所绑定的函数会将当前传入当前发生的事件作为参数。即

123456function click_alert(event) {     console.log(event);    console.log(arguments);    alert('123');}btn.onclick = click_alert;

如果你想传参数可以动态生成函数可以使用

1234567function get_click_alert(message) {     function click_alert() {         alert(message);    }    return click_alert}btn.onclick = get_click_alert('abc');



查看完整回答
反对 回复 2019-03-16
?
精慕HU

TA贡献1845条经验 获得超8个赞

1234567function click_alert(obj) {    alert(obj);} btn.onclick = function() {    click_alert(obj);}


查看完整回答
反对 回复 2019-03-16
  • 2 回答
  • 0 关注
  • 1553 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信