功能括号中项目的用途是什么?

时间:2012-10-13 09:01:37

标签: javascript function parentheses

function handleButtonClick(e) {
var textInput = document.getElementById("songTextInput");
var songName = textInput.value;
//alert("Adding " + songName);

if (songName == "") {
    alert("Please enter a song");
}
else {
    //alert("Adding " + songName);
    var li = document.createElement("li");
    li.innerHTML = songName;
    var ul = document.getElementById("playlist");
    ul.appendChild(li);

    // for Ready Bake
    save(songName);
}
}

在此代码中为什么我们将“e”放入保留在第一行的函数中。据我所知,除了那里,我们没有使用过它?

2 个答案:

答案 0 :(得分:0)

您现在不使用它,但是:

  • 如果您将其作为回调提供给事件绑定实用程序(例如myElement.onclick=handleButtonClick;
  • ,即使您未声明它,也会收到此参数(即事件)
  • 您的事件处理程序将来可能必须使用该事件,现在声明它更清晰

你没有来声明它,但这是一个很好的做法。

答案 1 :(得分:0)

从函数的名称,我假设这是一个附加到页面上按钮的点击处理程序。通常,当触发事件时,浏览器将Event对象作为参数传递给事件处理程序。在您的代码中,e参数将包含此Event对象。在您的事件处理程序中,您没有使用传入的Event对象,因此可以删除它。

但是,有时您可能希望使用传入的事件对象。例如:您可能希望在单击按钮时执行某个操作,并在按住 Ctrl 键单击按钮时执行不同的操作。在这种情况下,您将使用传入的Event对象的ctrlKey属性来确定要执行的操作。