Что обозначает код вида ()()
Небольшой кусочек:
var p = $('<p/>').appendTo(cont) data.onload = (function(x) { return function(e) { x.attr('height', 100); }; })(p) Получается что-то = ()(). Почему эта конструкция работает? |
Shitbox2,
Это т.н. немедленно вызываемая функция. Т.е. функция определяется и тут же вызывается. Когда переменной или свойству объекта присваивается такая функция, например var a = (function () {return "а"})(); то в переменной будет хранится не функция, а то что она возвращает, т.к функция запускается немедленно и самостоятельно (на это указывают круглые скобки справа). В данном случае возвращается строка "a", которая будет хранится в переменной a. Конструкция работает, потому что позволяет синтаксис языка. Такие функции могу принимать параметры, как в вашем примере (p), эти параметры доступны внутри функции. |
Цитата:
|
Цитата:
|
iMaxmaxmaximus,
ДжаваСкриптом поломал |
Часовой пояс GMT +3, время: 00:52. |