当我检查另一个时,我试图取消选中一个框。除非我需要了解this.checked
的反面以及!!this.checked
的相反内容,否则我完成所有工作。
基本上我想使用我现有的方法,而不是为新方法更改所有代码,所以我只需要知道相反的方法。
this.checked
检查复选框,但我希望相反,所以当它运行时取消勾选它。
答案 0 :(得分:3)
使用!!
两次基本上将其后的任何值转换为布尔值(true
或false
),如果它不是布尔值的话。
如果你有:
var example = 0;
并致电:
console.log( !!example );
您将获得false
,因为0
是false
作为布尔值。
当您使用!
一次时,您获得了布尔值,但却反对它的值,因此再次使用example
变量:
console.log( !example );
这会记录true
,因为与0
相反的布尔值是true
。
因此,与!!this.checked
相反的是!this.checked
,在您的方案中为true
(因为this.checked
原来是false
)
也许这会帮助你理解更多:
var foo = false,
bar = true;
!foo; // true: opposite of false is true.
!bar; // false: opposite of true is false.
!!foo; // false: opposite of false is true, opposite of true is false.
!!bar; // true: opposite of true is false, opposite of false is true.
答案 1 :(得分:1)
!!返回一个不是没有。
说你有一个var test = true;
!test
变为false
!!test
再次成为true
。
记住 - 爆炸!砰!你是布尔。
答案 2 :(得分:0)
选中此选项:
chrome.storage.local.set({'theIDofmyCheckbox2': $(this).is(':checked')});
未选中此选项:
chrome.storage.local.set({'theIDofmyCheckbox2': !$(this).is(':checked')});
! =不, ! =不是=是
答案 3 :(得分:0)
!!this.checked
的反面只是!this.checked
,即
chrome.storage.local.set({'theIDofmyCheckbox2': !this.checked});
说明:
当!this.checked
为true
或任何其他虚假值(例如this.checked
,false
...)时, 0
为null
,并且否则为false
。
!!this.checked
与此相反。