谢了, 一个JS文件里有类似代码几十行,所以想优化下。目前也无计可施 冗余就冗余吧 你可以写成函数。然后多次调用啊 function f(a,b,x) { return (~a & x | a & ~x) ^ (~b & x | b & ~x); }var c=f(a,b,50919874); var g=f(e,f,50919874);
谢了, 一个JS文件里有类似代码几十行,所以想优化下。目前也无计可施 冗余就冗余吧 你可以写成函数。然后多次调用啊 function f(a,b,x) { return (~a & x | a & ~x) ^ (~b & x | b & ~x); }var c=f(a,b,50919874); var g=f(e,f,50919874); 已经找到方法 经过测试 等同于 (~a & 1 | a & ~1) ^ (~b & 1 | b & ~1)其他 (~(~a | ~1) & -1) 等同于 Math.abs(a%2)非常感谢版主的提议,不过能不用函数就不用函数了 毕竟要多拐个弯
var d=50919874 ,c=(~a & d| a & ~d) ^ (~b & d| b & ~d);
var y = ~x;
var c=(~a & x | a & y) ^ (~b & x | b & y);
老哥 这样也提升不了什么性能呀,我是想问有没有抵消去除实现方式
你自己看a,b是干嘛的,找规律出来什么的
a,b是变量, 因为有大量类似的代码 就想优化下
你可以写成函数。然后多次调用啊
function f(a,b,x) {
return (~a & x | a & ~x) ^ (~b & x | b & ~x);
}var c=f(a,b,50919874);
var g=f(e,f,50919874);
你可以写成函数。然后多次调用啊
function f(a,b,x) {
return (~a & x | a & ~x) ^ (~b & x | b & ~x);
}var c=f(a,b,50919874);
var g=f(e,f,50919874);
已经找到方法 经过测试 等同于
(~a & 1 | a & ~1) ^ (~b & 1 | b & ~1)其他
(~(~a | ~1) & -1)
等同于
Math.abs(a%2)非常感谢版主的提议,不过能不用函数就不用函数了 毕竟要多拐个弯