Javascript 如何调用将其绑定到jQuery对象的函数

Javascript 如何调用将其绑定到jQuery对象的函数,javascript,jquery,Javascript,Jquery,jQuery是否提供了一个API来调用将这个变量绑定到jQuery对象的函数?例如: function log() { console.log(this); } $('body').execute(log); // prints the $('body') object in the console 我知道这可以通过将日志设置为插件来解决,但我不想这样做,因为我需要调用的函数是通用的,我不想将它绑定到jQuery 编辑: jQuery没有execute方法,它只是我添加的一个片段,用

jQuery是否提供了一个API来调用将
这个
变量绑定到jQuery对象的函数?例如:

function log() {
    console.log(this);
}

$('body').execute(log); // prints the $('body') object in the console
我知道这可以通过将日志设置为插件来解决,但我不想这样做,因为我需要调用的函数是通用的,我不想将它绑定到jQuery

编辑: jQuery没有
execute
方法,它只是我添加的一个片段,用来演示我要实现的目标

编辑2: 我不是问如何解决这个问题(underline.js bind已经涵盖了我),我只是问jQuery是否已经提供了类似的API。

你可以“不”让jQuery实现任何东西,只需“翻转”一些东西并使用函数名
。apply(对象、参数)

输出

ARG1: abc
ARG2: 123
using this: 51645

ARG1: undefined
ARG2: undefined
using this: 51645

这个
将不是您想要的范围。您可以使用带有参数的匿名函数,但:

function log($this) {
    console.log($this);
}

$('body').execute(function() { log($(this)); }); // prints the $('body') object in the console
看看这个:

    $.fn.prototype.execute = function() { 
      var f = function(){ console.log(this)};
     $.proxy( f   , this )()
    // that means something like 
    // f.call(this)   
   }
假设您具有以下功能:

var f= function( arg1, arg2){ 
  console.log(this, arg1, arg2)
}
在这里,您可以调用
f
传递上下文和参数

 f.call(document.body, arg1,arg2);
或参数作为数组由
应用
方法

f.apply(document.body, [arg1,arg2]);
在这两种情况下,你都会得到

>> <body>...</body>, valOfarg1, varOfarg2
>>…,瓦洛法尔格1,瓦洛法尔格2

问题是“我如何进行调用,使
这个
就是我希望它在这个范围内的样子?”你们都知道,
$('body')。execute
即使在jquery中也是无效的属性?很明显,这是一个示例片段,试图描述他正在寻找的解决方案,或者。。至少这是我的解释。是的,没有“执行”,我只是一个片段。我不知道函数有一个
html
属性。@TomalakGeret'kal我们传入一个jQuery对象,它有
.html
-如果你指的是这个?@TomalakGeret'kal就像你在###c++中忽略我一样,我也忽略你我不会在IRC上忽略你,除非你是巨魔。大部分时间都是这样。@TomalakGeret'kal如果我在线,我会玩巨魔。。我这里有两个巨魔,虽然它没有通过IRC那么明显。
>> <body>...</body>, valOfarg1, varOfarg2