我發現在JS項目下面的代碼:運算符| =在JavaScript中做什麼?
var a = new Array();
a[0] = 0;
for (var b = 0; b < 10; b++) {
a[0] |= b;
}
什麼是|=
做的for循環的身體?代碼示例是可疑的,但V8已經提供了here,以獲得改進性能的示例。
更新了例
上面的例子是相當於var a = [15];
對於大多數的意圖和目的。爲|=
運營商A更現實的例子是建立二進制標誌在一個單一的可變的,例如一個權限對象上:
//Set up permission masks
var PERMISSION_1_MASK = parseInt('0001',2);
var PERMISSION_2_MASK = parseInt('0010',2);
..
//Set up permissions
userPermissions = 0;
userPermissions |= hasPermissionOne && PERMISSION_1_MASK;
userPermissions |= hasPermissionTwo && PERMISSION_2_MASK;
..
//Use permissions
if(userPermissions & PERMISSION_1_MASK){
..//Do stuff only allowed by permission 1
}
我剛剛意識到它是來自這裏的代碼。 http://www.html5rocks.com/en/tutorials/speed/v8/ – razpeitia
@razpeitia閱讀這個問題,你會發現這個網址... – ContentiousMaximus