renovations

This commit is contained in:
Ilya Kantor 2015-01-14 10:23:45 +03:00
parent c7d4c7e3ff
commit e1948130f6
170 changed files with 1496 additions and 1161 deletions

View file

@ -0,0 +1,50 @@
# Использование функции вопросов
[importance 5]
Вызов `user.checkPassword()` в коде ниже должен, при помощи `ask`, спрашивать пароль и вызывать `loginOk/loginFail` в зависимости от правильности ответа.
Однако, его вызов приводит к ошибке. Почему?
Исправьте выделенную строку, чтобы всё работало (других строк изменять не надо).
```js
//+ run
"use strict";
function ask(question, answer, ok, fail) {
var result = prompt(question, '');
if (result.toLowerCase() == answer.toLowerCase()) ok();
else fail();
}
var user = {
login: 'Василий',
password: '12345',
loginOk: function() {
alert(this.login + ' вошёл в сайт');
},
loginFail: function() {
alert(this.login + ': ошибка входа');
},
checkPassword: function() {
*!*
ask("Ваш пароль?", this.password, this.loginOk, this.loginFail);
*/!*
}
};
user.checkPassword();
```
P.S. Ваше решение должно также срабатывать, если переменная `user` будет перезаписана, например вместо `user.checkPassword()` в конце будут строки:
```js
var vasya = user;
user = null;
vasya.checkPassword();
```