Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery插件中,返回';这';或'$(这)&"x27"?;?_Jquery_Jquery Plugins - Fatal编程技术网

在jQuery插件中,返回';这';或'$(这)&"x27"?;?

在jQuery插件中,返回';这';或'$(这)&"x27"?;?,jquery,jquery-plugins,Jquery,Jquery Plugins,创建jQuery插件时,在$.fn函数中应该返回什么?是返回此还是返回$(此)?我在搜索时遇到的一些网站使用前者,而其他网站使用后者: 返回$(此): (提示10) 返回此: 区别是什么,首选什么?直接在一个函数内部,该函数位于$上。fn(jQuery构造函数的原型),此指函数运行的jQuery集合实例。返回此是正确的。用$()包装它只会给代码增加不必要的权重 请参阅。这是调用函数的jQuery对象$(这)是对象(另一个jQuery对象,引用相同的DOM元素或原始对象所持有的任何对象)的浅

创建jQuery插件时,在
$.fn
函数中应该返回什么?是
返回此
还是
返回$(此)
?我在搜索时遇到的一些网站使用前者,而其他网站使用后者:

  • 返回$(此)
    : (提示10)
  • 返回此

区别是什么,首选什么?

直接在一个函数内部,该函数位于
$上。fn
(jQuery构造函数的原型),
指函数运行的jQuery集合实例。返回
是正确的。用
$()
包装它只会给代码增加不必要的权重


请参阅。

这是调用函数的jQuery对象
$(这)
是对象(另一个jQuery对象,引用相同的DOM元素或原始对象所持有的任何对象)的浅拷贝。通常,
这个
应该更好,因为1)创建jQuery对象的副本需要大量的操作,2)通常不会更改jQuery对象的属性

现在,如果确实更改了属性,则这两种行为会有所不同:

var foo = $('#id');
var bar = $(foo);
foo.baz = 1;
bar.baz; // undefined
在这种情况下,返回
$(这个)
可能更有意义。例如,jQuery自己的
add
函数在内部执行如下操作:

var next = $(this);
// add parameter to next
return next;
因此,当您向jQuery对象添加元素时,它不会修改原始元素:

var foo = $('html');
var bar = foo.add('body');
bar.length; // 2
foo.length; // 1

是的,我也是这么想的。谢谢你的确认。