Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2014, 18:08
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

Плюс перед функцией
Заметил в bootstrap.js вот такую форму:

+function ($) {

...

}(jQuery);


Плюс перед функцией - для чего это нужно?
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2014, 18:13
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Аналог
(function($) {

})(jQuery);

Чтобы функция интерпретировалась как Function Expression и не требовала имени.
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2014, 00:08
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

http://learn.javascript.ru/function-...ion-expression
Цитата:
Общее правило таково:
Если браузер видит function в основном потоке кода - он считает, что это Function Declaration.
Если же function идёт в составе более сложного выражения, то он считает, что это Function Expression.
здесь всё хорошо, понятно и удобно для дальнейшего использования

а кто-нибудь пытался вывести это чисто формально, основываясь только на спецификации, например, на примере того же унарного плюса?

http://es5.javascript.ru/x11.html#x11.4.6
Цитата:
UnaryExpression : + UnaryExpression
http://es5.javascript.ru/x11.html#x11.4
Цитата:
UnaryExpression :
PostfixExpression
delete UnaryExpression
void UnaryExpression
typeof UnaryExpression
++ UnaryExpression
-- UnaryExpression
+ UnaryExpression
- UnaryExpression
~ UnaryExpression
! UnaryExpression
как сюда вообще может попасть FunctionExpression, если на вход этому оператору оно не ожидается?

с оператором группировки немного получше
http://es5.javascript.ru/x11.html#x11.1.6
Цитата:
PrimaryExpression : ( Expression )
получше, если самому додумать, что Expression - это некое произвольное выражение, по крайней мере, формального и неформального определения для Expression в тексте спецификации я не нашёл

попутно возник ещё один вопрос: обычно приоритет операторов смотрел где-нибудь типа здесь
https://developer.mozilla.org/en-US/...tor_Precedence
в спецификации это где-то обозначено?
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2014, 00:28
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от bes
как сюда вообще может попасть FunctionExpression, если на вход этому оператору оно не ожидается?
здесь нормально
http://es5.javascript.ru/x11.html#x11.3
Цитата:
PostfixExpression :
LeftHandSideExpression
LeftHandSideExpression [no LineTerminator here] ++
LeftHandSideExpression [no LineTerminator here] --
http://es5.javascript.ru/x11.html#x11.2
Цитата:
LeftHandSideExpression :
NewExpression
CallExpression

NewExpression :
MemberExpression
new NewExpression

MemberExpression :
PrimaryExpression
FunctionExpression
MemberExpression [ Expression ]
MemberExpression . IdentifierName
new MemberExpression Arguments
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка данных перед отправкой на сервер dmitry111 Общие вопросы Javascript 12 03.04.2014 17:23
Вставка HTML перед textarea Alamogoro Общие вопросы Javascript 2 28.08.2013 17:26
Несколько сценариев одной функцией Marker Events/DOM/Window 19 19.01.2013 00:40
Подгрузка скрипта перед редиректом ссылки Cepin Javascript под браузер 4 10.12.2010 21:06
Удалить ряд символов перед или после курсора до определенного сивола brd Javascript под браузер 3 30.10.2009 08:20