Javascript变量名称作为函数

时间:2011-04-19 13:20:35

标签: javascript

var johnson = button.addEventListener('click', function() {
}); 

我可以用什么方式使用这个变量名。我可以把约翰逊称为某个地方的函数吗?

3 个答案:

答案 0 :(得分:3)

johnson将包含addEventListener的返回值,但addEventListener不会返回任何内容。 johnson将为空。

您当然可以使用命名函数或指向函数的变量作为事件侦听器,但是:

    var johnson = function() {
      //do stuff
    }

button.addEventListener('click', johnson);

现在您可以通过单击按钮或调用

来调用该侦听器功能
johnson();

答案 1 :(得分:3)

不,因为您没有为变量分配addEventListener函数,所以您要从执行函数中分配返回的值(在这种情况下,实际上没有任何内容可以查看返回值的示例:http://jsfiddle.net/DKyhW/2/ )。

要分配您需要执行的功能:

var johnson = button.addEventListener; 
//this assigns the eventlistener function to the variable.
johnson('click', function () {});

var johnson = function () {} //assigns function to variable.

button.addEventListener('click', johnson);

答案 2 :(得分:2)

由于addEventListener没有返回值,因此您的变量将绑定到undefined几乎无用。

也许你想要这样的事情:

var johnson = function() { ... }

button.addEventListener('click', johnson);