js中函数调用何时加括号、何时不加?
//document.getElementById("myBtn").onclick=displayDate();这样为什么无效<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>点击按钮就可以执行 <em>displayDate()</em> 函数。</p>
<button id="myBtn">点击这里</button>
<script>
function displayDate()
{
document.getElementById("demo").innerHTML=Date();
}
//
document.getElementById("myBtn").onclick=function(){displayDate();}
document.getElementById("myBtn").onclick=displayDate;
</script>
<p id="demo"></p>
</body>
</html> 师兄,看着好像有点眉目了,但是有更深入的介绍吗 ?比如说推荐本书,最好是电子书。谢谢!!
太坑爹了, ...
duke_mail 发表于 2013-7-19 19:54 http://bbs.51testing.com/images/common/back.gif
您好,这个是因为你的论坛等级太低! 本帖最后由 wuxue107 于 2013-7-18 15:34 编辑
document.getElementById("myBtn").onclick=displayDate();这样为什么无效
首先要知道onclick他接收值的是什么类型,他应该是接受一个指向一个要执行函数入口的地址,函数名像是一个指向函数入口地址的指针变量
那么这个时候就体现了用括号和不用括号的区别了。
仅仅函数名,代表这个函数的地址
函数名(),代表函数执行后的返回值
有时候我们常见这样的写法xxx.onclick=function(){...}
function(){...} 这是创建了一个匿名函数,并返回匿名函数的地址 师兄,看着好像有点眉目了,但是有更深入的介绍吗 ?比如说推荐本书,最好是电子书。谢谢!!
太坑爹了,回复个主题,要回答问题、看验证码???? 步骤太繁琐了。我发个贴,回复个主题,我容易吗我???
页:
[1]