这个JavaScript程序的输出是什么?
为什么两个id的输出都是“不在脸上”这个JavaScript程序的输出是什么?,javascript,Javascript,为什么两个id的输出都是“不在脸上” var message = "Spoon!"; $( "#foo" ).bind( "click", function() { console.log( message ); }); message = "Not in the face!"; $( "#bar" ).bind( "click", function() { console.log( message ); }); 因为在执行单击
var message = "Spoon!";
$( "#foo" ).bind( "click", function() {
console.log( message );
});
message = "Not in the face!";
$( "#bar" ).bind( "click", function() {
console.log( message );
});
因为在执行单击处理程序时,您的(全局)
消息
已经被重新定义为不在脸上代码>
消息的定义和重新定义都发生在您第一次单击之前。您所做的只是为“message”变量设置一个新值。单击事件激发时,将显示最新的值。尝试为“Not in the face!”设置不同的变量。消息位于click处理程序函数的全局范围内。