关于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 星