Каждая функция в яваскрипт является объектом класса Function
.
Все аргументы, переданные функции, интерпретируются как имена параметров для создаваемой функции, в порядке их перечисления.
Вызов конструктора Function
как функции работает так же, как вызов с new. Иначе говоря, оператор new
при вызове Function
необязателен.
Пример: Пример создания функции
var multiply = new Function("x", "y", "return x * y")
// или так:
var multiply = new Function("x,y", "return x * y")
var theAnswer = multiply(7, 6);
// более интересные пример работы объекта Function, в качестве данных:
Вообще нужно добавить в эту же статью три способа создания функций:
1)Через new (и Function должно начинаться с большой буквы)
2)анонимные функции function () {} (function с маленькой буквы)
3)обычные function func () {}
Упомянуть также про переменную arguments.
Неполная статья, учитывая что на неё прямая ссылка из Справочника по JavaScript.
Полностью поддерживаю, на счёт того что статья очень неполная.
В справочнике таким статьям не место.
Пусть лучше ничего не будет, чем недосказанности.
Я б ещё упомянул про то, что length выдаёт количество параметров, которые при объявлении функции были указаны.
То есть arguments.length и func.length скорей всего будут отличаться (потому что иногда вообще при объявлении функции не пишут параметры явно).
функция выдаст массив из двух элементов.
a[0] - будет равно 2
a[1] - будет равно 4
а ещё функция может быть индексом массива =)))))
проверьте:
Ой, извиняюсь, внизу заметил ссылочки)))
Но тем не менее существование таких вещей стоило бы и в описании привести.
Я недавно изучаю JS) Почему перед названиями параметров функции отсутствует var?
К примеру:
Параметры функции всегда становятся её локальными переменными, поэтому var там ни к чему...
Потому что X и Y - это аргументы, а не переменные.
Можете объяснить подсказать литературу вот такого синтаксиса (function() {})();
Таким способом создается замыкание, которое тут же исполняется.
Основная идея здесь в том, что после каждого вызова внутри такой конструкции возникает как бы замкнутая на самой себе область видимости (каждый раз - новая) со своими собственными переменными, значения которых сохраняются даже после того, как сама функция-контейнер отработала.
Подробнее здесь
Вместо замыкания вида
можно использовать типа
Это позволит сэкономить один символ ценой одной логической операции. В принципе нафиг не стоит ломать над этим голову, просто если встретите - то знайте, это - замыкание, такое же как и первое. Единственная разница - это возвращаемое значение.
люди нужна помощь, плиз, подскажите как сделать функцию чтобы при нажатии на кнопку увеличивалась ширина div, каждый раз
Забыли про Function.propotype.bind - смена контекста (this) в функции
function a () {
console.log(this.b)
}
a() // undefined
var c = a.bind({b:42})
c() // 42
Кто-нибудь знает, что за конструкция
!function - в самом начале jquery используется.
Смотри мой коммент выше, про замыкания.
Опытным путем нашел ....
!function(a,b)
{
}
(arguments);
Это практически тоже самое, что и просто
(
function(a,b)
{
}
)(arguments);
По второму варианту только и очень много вопросов и ответов было в инет...
А вот по варианту с !function(){}(); почему то ничего нету ...
Нашел чисто по наитью, точно что это такое и в чем разница - не знаю ...
Если кто знает - отпишитесь плиз ...
Да разницы нет. Если тебе не нужно значение, которое вернёт функция из замыкания, а просто нужно выполнить функцию - то используй конструкцию с !. В принципе - это всего лишь экономия одного символа не более. Всё! Иными словами
Так то ! - это ни что иное как логическое отрицание. То самое которе true превращает в false и наоборот. Ну например !3 - это false. Здесь это отрицание вынуждает к вычислению подлежащие выражение. Т.е. сама по себе конструкция:
вычислена не будет. А ! заставляет её вычислиться - чтобы знать, что отрицать. Такие дела. С таким же успехом (но с другими побочными эффектами) можно вместо ! использовать например:
Вот здесь все это очень подробно описано https://learn.javascript.ru/closures-module
что за долбаеб написал этот сайт еще и смеет писать что это спаравочник удали ево нахуй пидрила, нихуя непонятно где пидор обьяснения
люди подскажите нормальный справочник по js чтобы время на этом конченном сайте не тратить
нахуй иди отсюда, лохопрогер
[/php][/php][/php][/php][/php][/php][/php][/php][/php][/php][/php]
[/php][/php][/php][/php][/php][/php][/php][/php][/php][/php][/php]
[/php][/php][/php][/php][/php][/php][/php][/js][/js][/js][/js][/html][/html][/css][/css]
[/css][/css][/css][/css][/css][/css][/css][/html][/js][/php]Roksa gaj
arg1, arg2, ... argN is a hardly code. Tunnel rush is a game that brings new things. It helps you create funny adventure moments. Run in small tunnels and create your own distance records.
arg1, arg2, ... argN is a hardly code. Tunnel rush is a game that brings new things. It helps you create funny adventure moments. Run in small tunnels and create your own distance records.
I've been following your advice and having a lot of fun with trap the mouse because of it.
Отправить комментарий
Приветствуются комментарии:Для остальных вопросов и обсуждений есть форум.