Thêm một số vào hai biến cùng một lúc - Thủ thuật CSS

Anonim

Bạn có thể khởi tạo hai biến thành cùng một giá trị cùng một lúc, kinda:

var foo, bar; foo = bar = 10;

Nhưng không có cơ chế dễ dàng tương tự để thêm, ví dụ, 5 cho cả hai foobarcùng một lúc. Tất nhiên, nó đủ đơn giản để làm:

foo += 5; // foo is now 15 bar += 5; // bar is now 15

Nhưng đó là hai hoạt động.

Bí quyết là:

foo += -bar + (bar += 5); // foo and bar are now 15

Bạn có thể sẽ không bao giờ cần điều này, thật thú vị khi biết nó có thể.

Cảm ơn Matheus Avellar vì đã gửi mẹo nhỏ này về tâm hồn, người cũng giải thích:

Giá trị -barđược phân tích cú pháp và trở thành giá trị âm của bar, vì vậy -10. Sau đó, a += 5chạy và đặt barthành 15 (10 + 5). Cuối cùng, nó tổng hợp cả hai giá trị (-10 + 15) và cung cấp cho bạn sự khác biệt giữa cũ barvà mới bar, là 15.