minor
This commit is contained in:
parent
c8b560d1f4
commit
5f340d0545
7 changed files with 312 additions and 306 deletions
|
@ -0,0 +1,34 @@
|
|||
importance: 5
|
||||
|
||||
---
|
||||
|
||||
# Partial application for login
|
||||
|
||||
The task is a little more complex variant of <info:task/question-use-bind>.
|
||||
|
||||
The `user` object was modified. Now instead of two functions `loginOk/loginFail`, it has a single function `user.login(true/false)`.
|
||||
|
||||
What to pass `askPassword` in the code below, so that it calls `user.login(true)` as `ok` and `user.login(fail)` as `fail`?
|
||||
|
||||
```js
|
||||
function askPassword(ok, fail) {
|
||||
let password = prompt("Password?", '');
|
||||
if (password == "rockstar") ok();
|
||||
else fail();
|
||||
}
|
||||
|
||||
let user = {
|
||||
name: 'John',
|
||||
|
||||
login(result) {
|
||||
alert( this.name + (result ? ' logged in' : ' failed to log in') );
|
||||
}
|
||||
};
|
||||
|
||||
*!*
|
||||
askPassword(?, ?); // ?
|
||||
*/!*
|
||||
```
|
||||
|
||||
Your changes should only modify the highlighted fragment.
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue