为什么onclick不能直接调用含参函数而需要写成onclick=function(){fn(p)}

js新手,求教大神,为什么onclick不能直接调用含参函数而需要写成onclick=function(){fn(p)}的形式?而非含参函数可以直接写为onclick=fn();?
深层次原理是什么?谢谢

胡子哥哥
浏览 1597回答 1
1回答

一只名叫tom的猫

onclick其实是可以直接绑定有参数的函数,如下:const input = document.getElementById('input');input.onclick = function(params){   console.log(params); };但是,请注意,你的需求是执行函数fn(p),执行的结果是返回一个值,而不是一个函数。onclick作为点击时的回调事件,如果绑定,是一定要绑定一个函数的,而不是一个值。如下:input.onclick = function(){   fn(p); };这里的意思是,给input绑定一个onclick事件,这个事件是一个函数,点击时,回调就被执行了,意味着函数也被执行了,函数执行时,其中的语句fn(p)就被执行了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript