#javascript #coffeescript
#javascript #coffeescript
Вопрос:
for a in [1,2,3]
$('body').click (x) =>
alert a
Он предупреждает 3 три раза, когда я нажимаю на тело. Я бы хотел, чтобы он предупреждал 1, 2 и 3.
Комментарии:
1. Я хотел бы щелкнуть тело один раз, и появятся три предупреждения: первое с 1, второе с 2, третье с 3.
Ответ №1:
Я испортил синтаксис в первый раз, но на этот раз все получилось правильно:
Вам нужно создать замыкание вокруг функции и немедленно вызвать ее (как и в Javascript). Coffeescript даже дает вам хороший синтаксис, чтобы сделать это за вас … ключевое слово do:
for a in [1,2,3]
do (a) ->
$('body').click (x) =>
alert a
Комментарии:
1. 1. Подробнее о том, как это работает, см. В моей статье PragPub » Вмешательство в CoffeeScript «.