Javascript 有没有办法将jQuery函数作为参数传递?
我有一个函数,我想传递一个附加到jQuery原型的自定义jQuery函数:$.fn 比如说,Javascript 有没有办法将jQuery函数作为参数传递?,javascript,jquery,Javascript,Jquery,我有一个函数,我想传递一个附加到jQuery原型的自定义jQuery函数:$.fn 比如说, $.fn.customFx = function() { //do something... } function foo(func1) { //do something... $(selector).func1(); } $(document).ready(function() { foo($.fn.customFx); } 这样做可能吗?您可以尝试将函数名作为字符串传递
$.fn.customFx = function() {
//do something...
}
function foo(func1) {
//do something...
$(selector).func1();
}
$(document).ready(function() {
foo($.fn.customFx);
}
这样做可能吗?您可以尝试将函数名作为字符串传递。试试这个
$.fn.customFx = function() {
//do something...
}
function foo(func1) {
//do something...
$(selector)[func1]();
}
$(document).ready(function() {
foo('customFx');
}
必须以字符串形式传入函数名
$.fn.customFx = function() {
//do something...
}
function foo( methodName ) {
//do something...
$(selector)[ methodName ]();
}
$(document).ready(function() {
foo( "customFx" );
}
或者,您可以使用call/apply函数来调用函数,但这会带来很大的开销。如果可以传递函数本身,为什么要将函数名作为字符串传递?看看我的答案。@Tomalak-我同意你的看法,但这也是一种方法。嗯,不完全是这样,因为它需要硬编码函数名。传递函数引用更通用,一点也不难。在将函数作为引用传递时,也必须提到函数名。我同意Tomalak的观点,将函数作为参数传递比将函数名作为字符串传递更方便。函数可能并不总是有名称;想想匿名函数,甚至是全局命名空间中不存在的函数-
foo.bar.myFunction()
“您必须以字符串形式传入函数名……或者,您可以使用call/apply”这样就不必传入字符串。
$.fn.customFx = function() {
//do something...
}
function foo( methodName ) {
//do something...
$(selector)[ methodName ]();
}
$(document).ready(function() {
foo( "customFx" );
}