Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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是否;短路“;调用空集合?_Jquery - Fatal编程技术网

jQuery是否;短路“;调用空集合?

jQuery是否;短路“;调用空集合?,jquery,Jquery,假设我有以下jQuery: $container = $('#container'); $container.find('.foo').hide(500).remove(); 如果页面上没有#container元素,那么调用$container之前的任何内容都没有意义,因此我可以执行以下操作: if ($container.length > 0) { // Is there such an element? $container.find('.foo').hide(500).rem

假设我有以下jQuery:

$container = $('#container');

$container.find('.foo').hide(500).remove();
如果页面上没有
#container
元素,那么调用
$container
之前的任何内容都没有意义,因此我可以执行以下操作:

if ($container.length > 0) { // Is there such an element?
  $container.find('.foo').hide(500).remove();
}
但是检查有什么意义吗如果
$container
是空集合,jQuery会自动忽略其余调用吗?

我已经验证了
每个
回调中的代码从未在空集合上调用过,但我不确定如何对其他链式方法进行测试;例如,我不知道是否正在调用
hide()

以我的经验,是的

#foo
不存在时,我调用:

$('#foo').html('bar');
我通常会得到一个
未定义的
错误。选择器不会抛出错误,但以下函数可能会抛出错误。

根据我的经验,是的

#foo
不存在时,我调用:

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

我通常会得到一个
未定义的
错误。选择器不会抛出错误,但以下函数可能会抛出错误。

如果系统不运行.find.hide e.remove函数,那么if是一个很好的选项,它会浪费内存/时间

if是防止系统运行.find.hide e.remove函数、浪费内存/时间的好选项

查看通过此路径循环的it。长度:

for ( i = 0, l = this.length; i < l; i++ ) {
length = ret.length;
// ...
for(i=0,l=this.length;i
所以我想说,你不需要它,循环永远不会被执行。 通常,如果选择器返回一个空的结果集,jQuery什么也不做。

查看它的循环。长度:

for ( i = 0, l = this.length; i < l; i++ ) {
length = ret.length;
// ...
for(i=0,l=this.length;i
所以我想说,你不需要它,循环永远不会被执行。
通常,如果选择器返回一个空的结果集,jQuery什么也不做。

if($container.length){}就足够了。@ScottE-你是对的,那就行了。我没有这样做的唯一原因是我不喜欢Javascript中的隐式类型转换,因为它通常是扭曲的,但非零数字是真实的是一个安全的假设。如果($container.length){}就足够了。@ScottE-你说得对,那会很好。我没有这么做的唯一原因是我不喜欢Javascript中的隐式类型转换,因为它通常很复杂,但非零数字是真实的是一个安全的假设。