как работает такой синтаксис?

программирование JavaScript jQuery

(function($){

$(function(){
var e = $(".scrollTop");
var speed = 500;

e.click(function(){
$("html:not(:animated)" +( !$.browser.opera ? ",body:not(:animated)" : "")).animate({ scrollTop: 0}, 500 );
return false; //важно!
});
//появление
function show_scrollTop(){
( $(window).scrollTop()>300 ) ? e.fadeIn(600) : e.hide();
}
$(window).scroll( function(){show_scrollTop()} ); show_scrollTop();
});

})(jQuery)

функция внутри скобок и скобки с аргументом(?) jQuery? впервые встречаю такой синтаксис в javascript

Примечание:
Ell Rion, спасибо, именно это я и имел ввиду. гуглянул и набрел на вот такую статью, которая всё объясняет http://learn.javascript.ru/function-declaration-expression
Ответы:
( $(window).scrollTop()>300 ) ? e.fadeIn(600) : e.hide();
Тернарная условная операция, а именно так назвается то, что вы описали, используется во многих языках программирования - возвращающая свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом.  Простым языком, по сути, это тот же if...else...
Объявляется анонимная функция function($){} и сразу же вызывается с аргументом jQuery.
Это для того, чтобы можно было использовать (внутри этой анонимной функции) имя $, вместо более длинного jQuery, и не опасаться каких-либо конфликтов с другими библиотеками, использующими свою функцию $.
Может я не понял вопроса, но помойму человек спросил не о тернарном операторе а о
(function($) {
//...
})(jQuery);


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.