JavaScript IF instrukcja boolean strict
Ustawiam tryb w skrypcie, przekazując boolean „truey” do funkcji. W funkcji prostyif
oświadczenie sprawdza, czy parametr jesttrue
lubfalse
. Czasami przekazuję go jako ciąg lub bool, który zawsze działał, ale z jakiegoś powodu nie jest to po to:
setMode: function(Setting) {
if (Setting) {
console.log('Enabling mode');
} else {
console.log('Disabling mode');
}
}
Na przykład, gdy przekazuję mu ciąg'false'
i zaloguj sięSetting
konsoli, mówi konsolafalse
, jeszczeif
oświadczenie uważa, że to prawda.
Muszę dodać to do początku funkcji, aby działała:
if (typeof Setting == 'string') {Setting = (Setting == "true"); }
Przykład użycia:
var inverted = $('INPUT[name="Mode"]').prop('checked');
app.setMode(inverted);
i kolejny:
var mode = localStorage.getItem('Mode');
this.setMode(mode);
To takie dziwne, ponieważ robię tego typu rzeczy od lat, ale dopiero teraz się zaczyna. Może dlatego, że używamlocalStorage
i.prop
?