jQuery Javascript传递父对象的方式如下
我想将当前调用的对象及其当前设置的参数传递给闭包函数。一般来说,我不知道如何做到这一点,但我认为jQuery又增加了一层混乱,因为它引用了一个元素 例如: jQuery插件jQuery Javascript传递父对象的方式如下,javascript,jquery,object,closures,Javascript,Jquery,Object,Closures,我想将当前调用的对象及其当前设置的参数传递给闭包函数。一般来说,我不知道如何做到这一点,但我认为jQuery又增加了一层混乱,因为它引用了一个元素 例如: jQuery插件 (函数($){ $.fn.addContentType=函数(obj){ var name=“这只是一个示例”; obj.func.call(this);//您可以使用.apply()传递原始函数调用的上下文和参数: obj.func.apply(this, arguments); 对于.apply()和参数对象。您可以从
(函数($){
$.fn.addContentType=函数(obj){
var name=“这只是一个示例”;
obj.func.call(this);//您可以使用.apply()
传递原始函数调用的上下文和参数:
obj.func.apply(this, arguments);
对于.apply()
和参数
对象。您可以从jQuery选择器获得DOM元素,如下所示:
$("#elem").get(0);
或
有关详细信息(如果需要)要将name
作为jQuery对象的属性访问,需要添加它,而不是使用变量
this.name = "this is just an example";
obj.func.call(this);
或者使用变量将值传递给函数:
var name = "this is just an example";
obj.func.call(this, name);
并在另一端接收:
func:function( name ){
console.log( name ); //<--Expect "this is just an example"
}
…但是您仍然需要传递参数,除非您将值作为属性分配给obj
,否则您无法获取局部变量。name
只是addContentType
中的局部变量。另一方面,此
引用jQuery(“someelement”)选择的所有元素
。因此,这个.name
与jQuery(“#someelement”)相同。name
@Felix:正确。我在一开始就提到过。我问是否有方法传递一个“this”来引用对象本身。你指的是哪个对象?所选元素?还是jQuery对象?如果选择了多个元素怎么办?
this.name = "this is just an example";
obj.func.call(this);
var name = "this is just an example";
obj.func.call(this, name);
func:function( name ){
console.log( name ); //<--Expect "this is just an example"
}
obj.func.call(obj, name);