Tôi đang sử dụng jQuery 1.7.1
Tôi mới bắt đầu sử dụng toán tử bậc ba của JavaScript để thay thế các câu lệnh if / else đơn giản. Tôi đã làm rất thành công ở một số nơi. Tôi đã rất ngạc nhiên khi tôi làm thành công một thứ khác hoạt động khi tôi nghĩ chắc chắn rằng nó sẽ không, nhưng dù sao thì tôi cũng đã thử.
Đây là tuyên bố ban đầu:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
if (IsChecked == true){
removeItem($this);
} else {
addItem($this);
}
}
Đây là cùng một hàm sử dụng toán tử bậc ba:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
(IsChecked == true) ? removeItem($this) : addItem($this);
}
Tôi rất ngạc nhiên vì tất cả các ví dụ tôi thấy đang được sử dụng chỉ đơn thuần là thiết lập các biến như thế này:
x = (1 < 2) ? true : false;
Câu hỏi của tôi là liệu đây có phải là cách sử dụng "bình thường" và nó sẽ hoạt động trong hầu hết các phiên bản JavaScript? Nó sẽ thất bại ở đâu? Có những công dụng khác ít rõ ràng hơn cho nó không?
CẬP NHẬT - Cảm ơn lời khuyên "thế giới thực" !!!
Tôi đang sử dụng cái này làm chức năng của mình:
function updateItem() {
$this = $(this);
$this.hasClass("IsChecked") ? removeItem($this) : addItem($this);
}