Skip to content

Instantly share code, notes, and snippets.

@jakobz
Last active April 20, 2017 13:26
Show Gist options
  • Select an option

  • Save jakobz/d7f83ff0be1bf4f2ad7f to your computer and use it in GitHub Desktop.

Select an option

Save jakobz/d7f83ff0be1bf4f2ad7f to your computer and use it in GitHub Desktop.
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