Каждая функция в яваскрипт является объектом класса 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.
Very good article I like to read your post very good to share I want to send it to my fans.Thank you! 토토사이트
Very good article I like to read your post very good to share I want to send it to my fans Thank you! 토토사이트
Very good article I like to read your post very good to share I want to send it to my fans Thank you! 토토사이트
Thanks for sharing interesting data and code for javas system. I searched the documentation and found a lot of really useful information. On the other hand, this issue needs long-term research free games
I just want to tell you that I am a novice blogger and I really like this blog website. It is very likely that I will add bookmarks to your blog. You definitely have a wonderful story. Cheers to sharing your blog with us. 토토사이트추천
Due to your meticulous content and feedback, this amazing website may soon become widely known among almost all male and female bloggers. 토토사이트추천
It is because I have read your article that I am able to improve my skills and ideas in this field. Thank you very much.메이저사이트
I often read your blog and I just want to say keep up the good work! In my opinion, this is one of the most outstanding blogs.토토사이트추천
Ligaciputra menyediakan bermacam slot game dengan hadiah menang besar dengan berbagai topik bervariasi sehingga bisa dipilih secara bebas serta dapat dimainkan kapan dan dimana saja karena disediakan 24 jam nonstop.
Situs slot Ligaciputra juga menyediakan layanan customer service terbaik yang stay 24 jam nonstop serta cepat tanggap sehingga siap melayani kapanpun. Segeralah gabung dengan situs judi slot online Ligaciputra dan mainkan hokimu disini !
Liga ciputra
Ligaciputra termasuk platform terpercaya untuk para penggemar judi slot online. Dengan menyuguhkan 12 link situs slot gacor, Liga ciputra mempermudah player meraih kemenangan. Beragam pilihan mesin slot dengan tingkat pembayaran tinggi jadi daya tarik utama.
Отправить комментарий
Приветствуются комментарии:Для остальных вопросов и обсуждений есть форум.