函数调用之间的区别

时间:2018-10-09 17:32:54

标签: javascript function

在用javascript调用函数时,我们通常通过myFunction()调用它(myFunction是随机函数),但是在btn.onclick = bgChange下面给出的代码中不带()时,这怎么可能?它不应该返回函数描述吗?

  var btn = document.querySelector('button');
  function random(number) {
    return Math.floor(Math.random()*number);
  }
  function bgChange() {
    var rndCol = 'rgb(' + random(255) + ',' + random(255) + ',' + random(255) + ')';
    document.body.style.backgroundColor = rndCol;
  }
  btn.onclick = bgChange;

1 个答案:

答案 0 :(得分:2)

btn.onclick = bgChange;不调用函数,它添加了点击处理程序(回调)。当用户单击按钮时,它将调用:btn.onclick();-将调用存储在btn.onclick属性中的处理程序。您的情况将与呼叫bgChange();

相同