在您看来,您遇到的最令人惊讶,奇怪,奇怪或真正的"WTF"语言功能是什么?
每个答案只能有一个功能.
我是一个只是为了好玩而编写代码的人,并没有在学术或专业环境中深入研究它,所以像这些按位运算符这样的东西真的让我感到厌烦.
我正在阅读一篇关于JavaScript的文章,它显然支持按位操作.我一直看到这个地方提到的这个操作,我试着去弄清楚究竟是什么,但我似乎根本没有得到它.那他们是什么?清楚的例子会很棒!:d
还有几个问题 - 按位运算的一些实际应用是什么?你何时可以使用它们?
我正在寻找一种方法,在点击某些内容时运行两个单独的操作/函数/"代码块",然后在再次单击相同的内容时运行完全不同的块.我把它放在一起.我想知道是否有更有效/更优雅的方式.我知道jQuery .toggle()但它有点糟糕.
在这里工作:http: //jsfiddle.net/reggi/FcvaD/1/
var count = 0;
$("#time").click(function() {
count++;
//even odd click detect
var isEven = function(someNumber) {
return (someNumber % 2 === 0) ? true : false;
};
// on odd clicks do this
if (isEven(count) === false) {
$(this).animate({
width: "260px"
}, 1500);
}
// on even clicks do this
else if (isEven(count) === true) {
$(this).animate({
width: "30px"
}, 1500);
}
});
Run Code Online (Sandbox Code Playgroud) 我一般不喜欢微基准测试.但这一个有一个非常有趣的结果.
http://ernestdelgado.com/archive/benchmark-on-the-floor/
它表明这Math.floor是在Javascript中计算楼层的最慢方式.~~n,n|n,n&n全部为快.
这看起来非常令人震惊,因为我希望在今天的现代浏览器中实现Javascript的人会是一些相当聪明的人.
对于其他方法无法做到的事情,地板是否重要?有没有理由使用它?
可能的重复:
在 JavaScript 中我会在哪里使用按位运算符?
在c/c++ 按位操作比正常(算术)操作(在低性能处理器显著ATLEAST)更快。同样适用于js? 我不认为它在 c 中更快的原因是按位运算是硬连线的,通常在 1 个处理器周期内完成。但是js在没有任何此类硬件(我的意思是寄存器)访问的浏览器中运行。我不确定(大约 70% 确定 :))。按位运算符的典型(或一些更聪明的)用途是什么(特别是在js但我也想了解其他人)。如果我在任何地方错了,请纠正我。