问答详情
源自:2-2 DOM0级事件处理程序

发现DOM 0 好象不能加参数。

我发现只能写成下面这样:

var p1=document.getElementById("p1");

p1.onclick=t1;

如果写成:

p1.onclick=t1();

就不行。难道DOM 0 就是不能加参数的吗?

提问者:笨笨猫 2015-01-11 23:20

个回答

  • 仗剑闯江湖
    2015-01-12 01:34:30

    在js里函数都是对象,函数名就是一个指向该函数对象的变量。

    所以t1就是指向名为t1的函数的变量,第一种设置属性的方式当然没问题,而t1()本身就是就是对名为t1的函数的调用,所以第二种方式是把名为t1的函数的返回值赋给了onclick属性。

    要想加参数可以定义匿名函数。

    p1.onclick=function(//参数列表){//函数体};