javascript的函数引用什么时候应该加()什么时候不需要
javascript的函数引用什么时候应该加()什么时候不需要;如图所示为什么不写成oDiv.onmoudeover=toGreen();oDiv.onmoudeover...
javascript的函数引用什么时候应该加()什么时候不需要;如图所示为什么不写成oDiv.onmoudeover=toGreen();oDiv.onmoudeover=toRed();
展开
1个回答
展开全部
函数携如名后面加括号,是表示要立即执行这个函数,然后返回函数的运行结果;
不加括号,则代表函数本身(函数本身也是一个对象)。
oDiv.onmouseover=toGreen;
这是把toGreen这个函数凳隐弊绑定到oDiv的onmouseover事件上
oDiv.onmouseover=toGreen();
这是把toGreen这个函数的返回值“绑定”到枣族oDiv的onmouseover事件上,这显然是错误的!
不加括号,则代表函数本身(函数本身也是一个对象)。
oDiv.onmouseover=toGreen;
这是把toGreen这个函数凳隐弊绑定到oDiv的onmouseover事件上
oDiv.onmouseover=toGreen();
这是把toGreen这个函数的返回值“绑定”到枣族oDiv的onmouseover事件上,这显然是错误的!
追问
返回值是什么意思呢?然后我试了下oDiv.onmouseover=toGreen();有括号的情况,也是可以运行的呢?-----------------另外刚开始对javascript接触有没有什么好的书推荐下看看的,谢谢!
追答
2就比如你要编一个函数来计算加法:
function plus(x1, x2){
return x1+x2;
}
那么 alert(plus(1,2)); 就会弹出对话框显示3(即1+2=3),这个3就是返回值。
你说用了括号也可以运行,这就奇怪了,oDiv.onmouseover=toGreen;的目的是在鼠标移到oDiv上面时它会变成绿色,而加了括号呢?是不是网页一打开oDiv就是绿色的了?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询