关于btn.onclick=funcName调用方法
这个调用方法函数名后面不能跟(),如果我这个函数需要传入参数呢?应该怎么办?
36
收起
正在回答
2回答
函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。
不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。
所以一般时候我们都是采用的是无括号的原因。这也是由于括号的二义性,因为括号是“函数调用运算符”,相当于在执行这样一个函数
例如某一元素的单击事件:btn.onclick=funciton(){函数体},funciton(){函数体}可以使用函数名替代。当单击事件发生时,执行函数体,可以理解为使用函数名()调用函数。
希望可以帮到你!
红星双子
2017-10-15 12:55:35
<html> <head> <meta charset="UTF-8"> <title>onload</title> <script type="text/javascript"> window.onload=function (){ var btn=document.getElementById("btn"); function colorCh(obj,clickCol,outCol){ obj.onclick=function (){ this.style.color=clickCol; } obj.onmouseout=function (){ this.style.color=outCol; } } colorCh(btn,"red","#888") } </script> </head> <body> <input id="btn" type="button" value="点击改变按钮字体颜色" > </body> </html>
HTML5与CSS3实现动态网页 2018
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星