当通过函数参数传递'y'时它返回undefined但是没有参数它会返回有效值,但是为什么它在通过参数时返回undefined?
var y = 'Hello World';
$("button").click(function(e){
alert(y);
//--Returns Hello World
});
var y = 'Hello World';
$("button").click(function(e,y){
alert(y);
//--Returns Undefined
});
答案 0 :(得分:0)
如果您想访问y
变量,请从y
移除(e,y)
:
var y = 'Hello World';
$("button").click(function(e){
alert(y);
});
如果您需要有关当前event
的信息(在您的示例中'点击'):
$("button").click(function(e){
console.log(e);
});
答案 1 :(得分:0)
那是因为你没有将 y
传递给该函数。它是一个匿名函数声明,碰巧有一个名为y
的参数变量。你没有调用那个函数。该函数的调用是由click
事件完成的。
click
事件只将一个参数传递给回调函数,即Event
object。这就是为什么该函数的第二个变量默认为undefined。