Javascript 从对象调用函数:object.function()

Javascript 从对象调用函数:object.function(),javascript,jquery,function,object,methods,Javascript,Jquery,Function,Object,Methods,如何从javascript中的对象调用函数,例如在jquery中调用myDiv.html()以获取该div的html 所以我想要的是这样做: function bar(){ return this.html(); } alert($('#foo').bar()); 这是一个简化的示例,所以请不要说:只需执行$('#foo').html():)您的意思是如何在上下文中使用对象调用函数 这很有效- function bar() { return this.html(); } bar.

如何从javascript中的对象调用函数,例如在jquery中调用myDiv.html()以获取该div的html

所以我想要的是这样做:

function bar(){
 return this.html();
}

alert($('#foo').bar());

这是一个简化的示例,所以请不要说:只需执行$('#foo').html():)

您的意思是如何在上下文中使用对象调用函数

这很有效-

function bar() {
    return this.html();
}

bar.apply($('#foo'));
或者,如果要将方法永久附加到对象

obj = {x: 1};
obj.prototype.bar = function() {return this.x;};
obj.bar();

你是说如何在上下文中使用对象调用函数

这很有效-

function bar() {
    return this.html();
}

bar.apply($('#foo'));
或者,如果要将方法永久附加到对象

obj = {x: 1};
obj.prototype.bar = function() {return this.x;};
obj.bar();

要向id为
foo
div
元素添加
getHtml
函数,可以执行以下操作:
$(“#foo”)[0].getHtml=function(){
返回this.innerHTML;
};
警报($(“#foo”)[0].getHtml();


如果这不是您想要的,而是扩展jQuery,那么您应该看看Alex Barrett的文章。

要向id为
foo
div
元素添加
getHtml
函数,可以执行以下操作:
$(“#foo”)[0].getHtml=function(){
返回this.innerHTML;
};
警报($(“#foo”)[0].getHtml();

如果这不是您想要的,而是扩展jQuery,那么您应该看看Alex Barrett的文章。

Clean和(最重要的)库不可知论+1但是,在此上下文中(不要滥用该词),call方法与apply.permanently=>(在上面的答案中)相比更合适,意思是,如果您希望所有对象在其原始上下文中继承该方法,请使用prototype属性将新方法分配给对象。Clean和(最重要的)库无关+1但是,在此上下文中(不要滥用该词),call方法与apply.permanently=>(在上面的答案中)相比更合适,意思是,如果希望所有对象在其原始上下文中继承该方法,请使用prototype属性将新方法分配给对象。