Last active
April 20, 2017 13:26
-
-
Save jakobz/d7f83ff0be1bf4f2ad7f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| JavaScript | |
| 0. Нравится ли тебе javascript как язык программирования? | |
| Сам факт того что JS нравится/не нравится - весьма показателен, т.к. отношение к нему меняется у всех примерно одинаково в процессе погружения - от яркой неприязни, к пониманию и легкой эйфории, и потом уже к взвешенному отношению. | |
| 1. На замыкания и this | |
| HTML: | |
| <div id='my-div'>My Div</div> | |
| JS: | |
| var obj = { | |
| name: 'Bob', | |
| method: function() { | |
| alert(this.name) | |
| } | |
| } | |
| // Что выведет этот код? | |
| obj.method() | |
| // Что выведет этот код? | |
| $('#my-div').click(obj.method) | |
| Как можно исправить что работало как задумано? | |
| Наводящий вопрос: "видел ли ты когда-нибудь код вроде var that = this?" | |
| 2. На замыкания | |
| JS: | |
| for(var n = 1; n <= 3 ; n++) { | |
| setTimeout(function() { console.log(n); }) | |
| } | |
| - Что выведется при нажатии на кнопку "2"? Почему? | |
| - Как исправить? | |
| - [advanced] Как можно сделать проще средствами jQuery? | |
| - [advanced] Есть ли аналогичная проблема в C#? | |
| - [advanced] как нам может помочь ES6? (let, lambda) | |
| 3. На замыкания | |
| (function() { | |
| ... | |
| })() | |
| - видел ли ты такой код? Зачем он используется? Как это работает? | |
| 4. Всякие удобняшки JS. Имеет смысл задать один вопрос из списка, если человек уверенно отвечал на предыдущие вопросы. | |
| - видел ли ты такую конструкцию: var msg = param || ""? Для чего она используется? Почему это работает? | |
| - [advanced] видел ли ты такую конструкцию: fn && fn()? Для чего используется? Почему это работает? | |
| - видел ли ты такую конструкцию: var str = n + ""? Что она делает? | |
| 5. Разные вопросы россыпью | |
| - как добавить элемент в конец массива? Как добавить в начало? | |
| - [advanced] есть массив чисел [43,62,23,12,67,34,12]. Как получить из него массив тех чисел, которые >=50? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment