在Bitwise 与 Assoc Array 迭代测试中,有以下代码段:
var arr = [1,0,1,0,0,0,0,0,1,1,0,0,1];
var o = [];
for(var i = 0; i < 100; i++){
var a = [(Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1)];
var b = 0;
for(var j=0; j < a.length; j++){
b |= (a[j] << j);
}
o << {a: a, b: b};
}
它为测试目的准备数据。最后一句话对我来说没有意义,除了它有一个左移的事实。解释器不会抛出错误,它只是默默地接受它。