renovations
This commit is contained in:
parent
c7d4c7e3ff
commit
e1948130f6
170 changed files with 1496 additions and 1161 deletions
50
1-js/6-objects-more/7-bind/5-question-use-bind/task.md
Normal file
50
1-js/6-objects-more/7-bind/5-question-use-bind/task.md
Normal 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();
|
||||
```
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue