Javascript jQuery函数与处理程序
试图学习的人提出的一个简单问题: 我有这个:Javascript jQuery函数与处理程序,javascript,jquery,function,Javascript,Jquery,Function,试图学习的人提出的一个简单问题: 我有这个: $(function(){$("#topFlag").hover(changeFlag, setFlag ); }); function changeFlag(){ //some code }; function setFlag(){ //somecode }; 现在一切都好了。但我希望使用的是: $(function(){$("#topFlag").hover(changeFlag(), setFlag() ); }); 有什
$(function(){$("#topFlag").hover(changeFlag, setFlag ); });
function changeFlag(){
//some code
};
function setFlag(){
//somecode
};
现在一切都好了。但我希望使用的是:
$(function(){$("#topFlag").hover(changeFlag(), setFlag() ); });
有什么区别?为什么和帕伦斯一起换旗不起作用?这不是函数调用吗?如果我想向函数传递一个参数呢
感谢您对我能阅读的文档的任何见解或建议。我已经退房了:
changeFlag是一个函数
changeFlag调用该函数
您需要传递函数。您不需要调用函数并传递其返回值。changeFlag是一个函数
changeFlag调用该函数
您需要传递函数。您不需要调用函数并传递其返回值。当您在函数名后添加大括号时,它将执行函数 但是当您将鼠标悬停在元素上时,您希望函数启动
而不是在附加事件时在函数名后添加大括号时,它会执行函数 但是当您将鼠标悬停在元素上时,您希望函数启动
而不是在javascript中附加事件时,函数也是变量,当您将其作为参数传递时,您希望发送函数以执行,如果您将其写入yourFunc,您将发送该函数的结果。 要发送参数,我使用以下命令:
$(function(){$("#topFlag").hover(function(){changeFlag(param1, param2,...)}, function(){setFlag(param1, param2,...)}); });
这将创建一个匿名函数来调用您的函数。在javascript中,函数也是变量,当您将其作为参数传递给要发送函数以执行时,如果您将此函数写入yourFunc,则将改为发送该函数的结果。 要发送参数,我使用以下命令:
$(function(){$("#topFlag").hover(function(){changeFlag(param1, param2,...)}, function(){setFlag(param1, param2,...)}); });
这将创建一个匿名函数来调用您的函数。Dup:,Dup:另外,W3Schools不是最好的资源。。。我建议你看看MDN,你会在那里学到更多更好的东西。Dup:,Dup:而且,W3Schools不是最好的资源。。。我建议您查看MDN,在那里您会学到更多更好的内容。您可以避免使用匿名函数,如:$.proxychangeFlag,null,param1,param2您可以避免匿名函数,如:$.proxychangeFlag,null,param1,param2