[英]Change a boolean back and forth javascript
我想知道在Javascript中是否可能有一個單擊事件偵聽器,每次單擊時都會將布爾值從true更改為false。 意思是我單擊一個,它就變為false,然后再次單擊,它就變為true,以此類推。 我什至不知道是否可能,但是我嘗試了這個:
//This is my listener
circlePicker.click(function () {
booleanChecker(circlePickerSelector);
console.log(booleanChecker(circlePickerSelector));
});
//This function checks if the boolean is true or false
function booleanChecker(isThisTrue) {
// circlePickerSelector = !circlePickerSelector;
// return circlePickerSelector;
if (isThisTrue == false) {
isThisTrue = true;
console.log("I turned into true");
} else if (isThisTrue == true) {
isThisTrue = false;
console.log("I turned into false");
}
return isThisTrue;
}
我想知道這是否可能。 我覺得我的語法有問題。 任何建議都值得歡迎。
謝謝!
您可以使用!
進行切換!
算子
circlePicker.click(function () {
circlePickerSelector = !circlePickerSelector;
console.log(circlePickerSelector);
});
如果circlePickerSelector
最初為true
,則!circlePickerSelector
將其設置為false
。 然后,您可以將其分配給相同的變量,以在下次單擊時執行相反的操作。
創建圍繞變量的閉包,然后從該閉包內部返回一個函數,例如,
function bool(initial) {
initial = !!initial;
return {
get current() {
return initial;
},
toggle: function () {
return initial = !initial;
}
};
}
var b = bool(true);
b.current; // true
b.toggle(); // false
b.current; // false
b.toggle(); // true
b.current; // true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.