2011-04-19 47 views
2
var johnson = button.addEventListener('click', function() { 
}); 

我可以用什么方法使用这个变量名。我可以将johnson作为函数调用吗?作为函数的Javascript变量名

+0

缺少了的addEventListener第三个参数 – user422039 2011-04-19 13:46:25

回答

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); 
3

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

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

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

button.addEventListener('click', johnson); 

现在,您可以通过点击按钮调用监听功能,或致电

johnson(); 
2

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

也许你想是这样的:

var johnson = function() { ... } 

button.addEventListener('click', johnson);