tôi thấy đoạn mã sau vào một dự án JS:Toán tử | = làm gì trong JavaScript?
var a = new Array();
a[0] = 0;
for (var b = 0; b < 10; b++) {
a[0] |= b;
}
nào |=
làm gì trong cơ thể của vòng lặp for?
Ví dụ mã không rõ ràng, nhưng đã được trình bày here bởi V8 để biết ví dụ về hiệu suất được cải thiện.
Cập nhật Ví dụ
Ví dụ trên là tương đương với var a = [15];
đối với hầu hết các tính năng. Một ví dụ thực tế hơn cho các nhà điều hành |=
sẽ được thiết lập cờ nhị phân trong một biến duy nhất, ví dụ về một đối tượng cho phép:
//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
}
Tôi chỉ nhận ra rằng mã đó là từ đây. http://www.html5rocks.com/en/tutorials/speed/v8/ – razpeitia
@razpeitia đọc câu hỏi và bạn sẽ tìm thấy URL đó ... – ContentiousMaximus