function ask(question, answer, ok, fail) {
var result = prompt(question, '');
if (result.toLowerCase() == answer.toLowerCase()) ok();
else fail();
}
var user = {
login: 'Василий',
password: '12345',
// метод для вызова из ask
loginDone: function(result) {
alert( this.login + (result ? ' вошёл в сайт' : ' ошибка входа') );
},
checkPassword: function() {
var self = this;
ask("Ваш пароль?", this.password,
function() {
self.loginDone(true);
},
function() {
self.loginDone(false);
}
);
}
};
var vasya = user;
user = null;
vasya.checkPassword()
в ask мы передаем из свойства checkPassword значения; В question получит "Ваш пароль?"; answer получит password - 12345, А дальше не могу понять как тернарный оператор возвращает вошел поселитель на сайт или нет ?
loginDone
вызывается с разным значением параметра result
из ok
и из fail
.
Если в тернарном операторе условие true
, то он возвращает первый операнд. Если false
, то второй.
console.log(true? ' вошёл в сайт' : ' ошибка входа');
console.log(false? ' вошёл в сайт' : ' ошибка входа');
Виртуальный выделенный сервер (VDS) становится отличным выбором
Начал учить JS и возникло желание написать небольшую игру, по типу "показывается цифра в блоке и вам нужно ее ввести за определенное время"Так...
Начал изучать javascriptЗастрял на задаче