给定一些jQuery对象集,以及该集合的子集,是否有一个方法可以返回逆子集?
如果答案是" 否 ",有没有办法避免进行第二次选择以获得逆子集?
解释性的例子:
<ul>
<li class="subset"></li>
<li class="subset"></li>
<li class="inverse"></li>
<li class="inverse"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
首先,我想对所有人做一些事情<li>
,然后对某些事情做一些事情.subset
,最后只做其他事情.inverse
:
$('li').css('background-color','blue')
.filter('.subset')
.css('color','black')
.inverse() // <-- White Whale?!?
.css('color','white');
Run Code Online (Sandbox Code Playgroud)
我知道这可以很容易地完成.end().filter('.inverse')
,但假设选择器实际上是大而且讨厌并且运行两次将是一个很大的性能影响.然后怎样呢?
在API文档中没有找到这样的东西,但我是jQuery的新手并且可能忽略了一些明显的东西(同样,存在.andSelf()
意味着这并不是不合理的......).
在Mac OS X 10.6.2,Intel,使用i686-apple-darwin10-g ++ - 4.2.1,并使用-arch x86_64标志进行编译时,我注意到了......
std::numeric_limits<long double>::max_exponent10 = 4932
Run Code Online (Sandbox Code Playgroud)
...正如预期的那样,当long double实际设置为指数大于308的值时,它变为inf - 即实际上它只有64位精度而不是80位.
此外,sizeof()
显示长双精度为16字节,它们应该是.
最后,使用<limits.h>
给出相同的结果<limits>
.
有谁知道差异可能在哪里?
long double x = 1e308, y = 1e309;
cout << std::numeric_limits<long double>::max_exponent10 << endl;
cout << x << '\t' << y << endl;
cout << sizeof(x) << endl;
Run Code Online (Sandbox Code Playgroud)
给
4932
1e + 308 inf
16