Приветствую!
Для тренировки, написал скрипт для проверки возраста/пароля пользователя для доступа к какой либо последующей информации.
Вопросы:
1. При запуске скрипта, проходит проверка на возраст, но проверка пароля не происходит, в чем проблема?
2. Что улучшить в скрипте? Как Вы написали бы данный скрипт?
3. Вместо
console.log
возвращать
return true/false
?
Спасибо!
function Auth() {
this.start = function() {
if(this.checkUserAge()) {
console.log('Доступ к вводу пароля > успех, возраст подходит...')
if(this.checkUserPass()) {
console.log('Доступ к приложению > успех, пароль подошел...')
} else {
console.log('Доступ к приложению > ошибка, пароль не подошел...')
}
} else {
console.log('Доступ к вводу пароля > ошибка, возраст не подходит...')
}
}
this.checkUserAge = function() {
if(this.userAge) {
if(this.userAge >= 18) {
console.log('Проверка возраста > успех, возраст подходит...')
} else {
console.log('Проверка возраста > ошибка, возраст не подходит...')
}
} else {
console.log('Проверка возраста > ошибка, возраст не указан...')
this.getUserAge()
this.checkUserAge()
}
}
this.checkUserPass = function() {
if(this.userPass) {
if(this.userPass == 123) {
console.log('Проверка пароля > успех, пароль подошел...')
} else {
console.log('Проверка пароля > ошибка, пароль не подходит...')
}
} else {
console.log('Проверка пароля > ошибка, пароль не указан...')
this.getUserPass()
this.checkUserPass()
}
}
this.getUserAge = function() {
this.userAge = prompt('Количество полных лет?', 0)
console.log('Данные > пользователь указал свой возраст...')
}
this.getUserPass = function() {
this.userPass = prompt('Ваш пароль?', 0)
console.log('Данные > пользователь указал пароль...')
}
}
let auth = new Auth()
auth.start()
UPD: обновил скрипт, добавил return true/false. Выполняет проверку if(this.checkUserAge()), но до проверки if(this.checkUserPass()) не доходит, в чем проблема?
Скрипт
function Auth() {
this.start = function() {
// упешно выполняет проверку
if(this.checkUserAge()) {
console.log('Доступ к вводу пароля > успех, возраст подходит...')
// до сюда не доходит...
if(this.checkUserPass()) {
console.log('Доступ к приложению > успех, пароль подошел...')
} else {
console.log('Доступ к приложению > ошибка, пароль не подошел...')
}
} else {
console.log('Доступ к вводу пароля > ошибка, возраст не подходит...')
}
}
this.checkUserAge = function() {
if(this.userAge) {
if(this.userAge >= 18) {
console.log('Проверка возраста > успех, возраст подходит...')
return true
} else {
console.log('Проверка возраста > ошибка, возраст не подходит...')
return false
}
} else {
console.log('Проверка возраста > ошибка, возраст не указан...')
this.getUserAge()
this.checkUserAge()
return false
}
}
this.checkUserPass = function() {
if(this.userPass) {
if(this.userPass == 123) {
console.log('Проверка пароля > успех, пароль подошел...')
return true
} else {
console.log('Проверка пароля > ошибка, пароль не подходит...')
return false
}
} else {
console.log('Проверка пароля > ошибка, пароль не указан...')
this.getUserPass()
this.checkUserPass()
return false
}
}
this.getUserAge = function() {
this.userAge = prompt('Количество полных лет?', 0)
console.log('Данные > пользователь указал свой возраст...')
}
this.getUserPass = function() {
this.userPass = prompt('Ваш пароль?', 0)
console.log('Данные > пользователь указал пароль...')
}
}
let auth = new Auth()
auth.checkUserAge()