笨笨猫
2015-01-11 23:20
我发现只能写成下面这样:
var p1=document.getElementById("p1");
p1.onclick=t1;
如果写成:
p1.onclick=t1();
就不行。难道DOM 0 就是不能加参数的吗?
在js里函数都是对象,函数名就是一个指向该函数对象的变量。
所以t1就是指向名为t1的函数的变量,第一种设置属性的方式当然没问题,而t1()本身就是就是对名为t1的函数的调用,所以第二种方式是把名为t1的函数的返回值赋给了onclick属性。
要想加参数可以定义匿名函数。
p1.onclick=function(//参数列表){//函数体};
DOM事件探秘
99544 学习 · 1197 问题
相似问题