ho trovato il seguente codice in un progetto JS:Cosa fa l'operatore | = fa in JavaScript?
var a = new Array();
a[0] = 0;
for (var b = 0; b < 10; b++) {
a[0] |= b;
}
Cosa significa il |=
fare nel corpo del ciclo for?
L'esempio di codice è dubbio, ma è stato presentato here da V8 per un esempio di prestazioni migliorate.
aggiornato Esempio
L'esempio precedente è equivalente a var a = [15];
per la maggior parte gli effetti. Un esempio più realistico per l'operatore |=
sarebbe quella di istituire bandiere binari in una singola variabile, ad esempio su un oggetto permesso:
//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
}
Mi rendo conto che il codice è di qui. http://www.html5rocks.com/en/tutorials/speed/v8/ – razpeitia
@razpeitia leggi la domanda e troverai quell'URL ... – ContentiousMaximus