函数调用时,有的加(),有的不加。有的不加不行。还有的加“”号
函数调用时,有的加(),有的不加。有的不加不行。还有的加“”号。如有函数stst()。调用的时候举例如下:
stst()
onclick=stst 这个有的时候不能用
onclick=stst()
onclick="stst()"
<body onclick="stst()">
而且以上调用的效果也不同。
到底是怎么回事
第一stst()使用地方
<input id="text1" onclick="stst()" />正确
<input id="text1" onclick=stst() />正确 属性可以省去引号,单引号也可以
<input id="text1" onclick="stst" />错误
第二stst使用地方
document.getElementById("text1").onclick=stst正确
document.getElementById("text1").onclick=stst()错误
如果有该函数有参数要传递可以用匿名函数。
document.getElementById("text1").onclick=function(){stst(param)}
第三 stst() stst都可以使用的地方
window.setInterval(stst,1000); 正确
window.setInterval(stst(),1000);正确
window.setInterval("stst()",1000);正确
如果在 JavaScript 中使用 document.body.oncontextmenu = stest(); 的话,就是把 stest 的执行结果给了 oncontextmenu 事件,但是这个事件要求的是一个函数的引用的,并不是函数的执行结果,而 stest 就是 stest() 函数的引用。
如果写成 document.body.oncontextmenu = 'stest()'; 的话,那么就表示把一个字符串给了 oncontextmenu 事件,这显然也是不正确的。
而使用 <body oncontextmenu = stest()> 时,这是 HTML 中的写法,也就是在触发 oncontextmenu 事件时去调用的函数,事件不触发时这个函数根本就不会执行。
stst()
onclick=stst 这个有的时候不能用
onclick=stst()
onclick="stst()"
<body onclick="stst()">
而且以上调用的效果也不同。
到底是怎么回事
第一stst()使用地方
<input id="text1" onclick="stst()" />正确
<input id="text1" onclick=stst() />正确 属性可以省去引号,单引号也可以
<input id="text1" onclick="stst" />错误
第二stst使用地方
document.getElementById("text1").onclick=stst正确
document.getElementById("text1").onclick=stst()错误
如果有该函数有参数要传递可以用匿名函数。
document.getElementById("text1").onclick=function(){stst(param)}
第三 stst() stst都可以使用的地方
window.setInterval(stst,1000); 正确
window.setInterval(stst(),1000);正确
window.setInterval("stst()",1000);正确
如果在 JavaScript 中使用 document.body.oncontextmenu = stest(); 的话,就是把 stest 的执行结果给了 oncontextmenu 事件,但是这个事件要求的是一个函数的引用的,并不是函数的执行结果,而 stest 就是 stest() 函数的引用。
如果写成 document.body.oncontextmenu = 'stest()'; 的话,那么就表示把一个字符串给了 oncontextmenu 事件,这显然也是不正确的。
而使用 <body oncontextmenu = stest()> 时,这是 HTML 中的写法,也就是在触发 oncontextmenu 事件时去调用的函数,事件不触发时这个函数根本就不会执行。
posted on 2009-09-30 17:14 dolphin_bobo 阅读(220) 评论(0) 编辑 收藏 举报