Let’s build the future of the web, together
About web.dev
Take advantage of the latest modern technologies to build amazing web experiences for everyone.
Learn more
Featured courses
Explore our structured learning paths to discover everything you need to know about building for the modern web.
See all
Case studies
Learn why and how other developers have used the web to create amazing web experiences for their users.
See all
Building a Better Web — Part 1: A faster YouTube on web
This is Part 1 of our new series on Building a Better YouTube Web called «Building a faster YouTube on web»
Case StudyPerformanceWeb Vitals
How Rakuten 24’s investment in Core Web Vitals increased revenue per visitor by 53.37% and conversion rate by 33.13%
By measuring real users’ Web Vitals, Rakuten 24 also found that a good Largest Contentful Paint (LCP) can lead to a conversion rate increase of 61. 13%.
Case StudyWeb Vitals
Patterns
A collection of code snippets to help you optimize your web projects.
See all
Advanced apps patterns
A collection of common patterns for building advanced apps.
Animation patterns
A collection of animation techniques built using CSS or JavaScript with considerations for accessibility and user preferences.
Clipboard patterns
A collection of common patterns for dealing with the clipboard.
Component patterns
A collection of cross browser UI components for use in accelerating or inspiring your own design systems.
Files and directories patterns
A collection of common patterns for dealing with files and directories.
Layout patterns
A collection of layout patterns built using modern CSS APIs that will help you build common interfaces such as cards, dynamic grid areas, and full-page layouts.
Media patterns
A collection of common patterns for working with media.
Theming patterns
A collection of techniques to assist in managing color throughout your projects.
Web Vitals patterns
A collection of common UX patterns optimized for Core Web Vitals. This collection includes patterns that are often tricky to implement without hurting your Core Web Vitals scores. You can use the code in these examples to help ensure your projects stay on the right track.
Podcasts and Shows
Level up your web development skills by listening to podcasts from Google Developers
See all
Show
Designing in the browser
Designing in the Browser explores the intersection of design and front-end development, teaching you how to build beautiful UIs with modern web standards in mind.
Podcast
The CSS Podcast
Cascading Style Sheets (CSS) is the web’s core styling language. For web developers, It’s one of the quickest technologies to get started.
Developer Newsletter
Get the latest news, techniques and updates straight to your inbox.
First Name
Last Name
Your Email
CountryAfghanistan (افغانستان)Åland Islands (Åland)Albania (Shqipëria)Algeria (الجزائر)American SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaArgentinaArmenia (Հայաստանի Հանրապետութիւն)ArubaAscension IslandAustraliaAustria (Österreich)Azerbaijan (Azərbaycan)BahamasBahrain (البحرين)Bangladesh (বাংলাদেশ)BarbadosBelarus (Беларусь)Belgium (België)BelizeBenin (Bénin)BermudaBhutan (भूटान)BoliviaBosnia and Herzegovina (Bosna i Hercegovina)BotswanaBouvet IslandBrazil (Brasil)British Indian Ocean TerritoryBritish Virgin IslandsBruneiBulgaria (България)Burkina FasoBurundiCambodia (កម្ពុជា)Cameroon (Cameroun)CanadaCanary IslandsCape Verde (Cabo Verde)Caribbean NetherlandsCayman IslandsCentral African Republic (République centrafricaine)Ceuta and MelillaChad (تشاد)ChileChina (中国)Christmas IslandClipperton IslandCocos (Keeling) IslandsColombiaComoros (جزر القمر)Congo (DRC) (République démocratique du Congo)CongoCook IslandsCosta RicaCroatia (Hrvatska)CubaCuraçaoCyprus (Κύπρος)Czechia (Česko)Côte d’IvoireDenmark (Danmark)Diego GarciaDjibouti (Jabuuti)DominicaDominican Republic (República Dominicana)EcuadorEgypt (مصر)El SalvadorEquatorial Guinea (Guinée équatoriale)Eritrea (ኤርትራ, اريتريا)Estonia (Eesti)Ethiopia (ኢትዮጵያ)Falkland IslandsFaroe Islands (Føroyar)Fiji (फिजी)Finland (Suomi)FranceFrench Guiana (Guyane française)French Polynesia (Polynésie française)French Southern TerritoriesGabonGambiaGeorgia (საქართველო)Germany (Deutschland)GhanaGibraltarGreece (Ελλάδα)Greenland (Kalaallit Nunaat)GrenadaGuadeloupeGuamGuatemalaGuernseyGuinea (Guinée)Guinea-Bissau (Guiné Bissau)GuyanaHaiti (Haïti)Heard & McDonald IslandsHondurasHong Kong (香港)Hungary (Magyarország)Iceland (Ísland)India (भारत)IndonesiaIran (ایران)Iraq (العراق)IrelandIsle of ManIsrael (ישראל)Italy (Italia)JamaicaJapan (日本)JerseyJordan (الأردن)Kazakhstan (Казахстан)KenyaKiribatiKosovoKuwait (الكويت)Kyrgyzstan (Кыргызстан)Laos (ลาว)Latvia (Latvija)Lebanon (لبنان)LesothoLiberiaLibya (ليبيا)LiechtensteinLithuania (Lietuva)LuxembourgMacau (澳门)Macedonia (FYROM) (Македонија)MadagascarMalawiMalaysiaMaldivesMali (مالي)MaltaMarshall IslandsMartiniqueMauritania (موريتانيا)MauritiusMayotteMexico (México)MicronesiaMoldovaMonacoMongolia (Монгол улс)Montenegro (Црна Гора)MontserratMorocco (المغرب)Mozambique (Moçambique)Myanmar (Burma)NamibiaNauruNepal (नेपाल)Netherlands (Nederland)Netherlands Antilles (Nederlandse Antillen)New Caledonia (Nouvelle-Calédonie)New ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorth Korea (조선 민주주의 인민 공화국)Northern Mariana IslandsNorway (Norge)Oman (عمان)Outlying OceaniaPakistan (پاکستان)PalauPalestine (فلسطين)Panama (Panamá)Papua New GuineaParaguayPeru (Perú)PhilippinesPitcairn IslandsPoland (Polska)PortugalPuerto RicoQatar (قطر)Romania (România)Russia (Россия)RwandaRéunionSaint BarthélemySaint HelenaSaint Kitts and NevisSaint LuciaSaint MartinSaint Pierre and MiquelonSamoaSan MarinoSaudi Arabia (المملكة العربية السعودية)Senegal (Sénégal)Serbia (Србија)SeychellesSierra LeoneSingapore (新加坡)Sint MaartenSlovakia (Slovenská republika)Slovenia (Slovenija)Solomon IslandsSomalia (Somali)South AfricaSouth Georgia & South Sandwich IslandsSouth Korea (대한민국)South SudanSpain (España)Sri Lanka (இலங்கை)St. Vincent & GrenadinesSudan (السودان)SurinameSvalbard and Jan MayenSwazilandSweden (Sverige)Switzerland (Schweiz, Suisse, Svizzera)Syria (سوريا)São Tomé and PríncipeTaiwan (台灣)Tajikistan (تاجیکستان)TanzaniaThailand (ประเทศไทย)Timor-LesteTogoTokelauTongaTrinidad and TobagoTristan da CunhaTunisia (تونس)Turkey (Türkiye)Turkmenistan (Туркменистан)Turks and Caicos IslandsTuvaluU.S. Outlying Islands (United States Minor Outlying Islands)U.S. Virgin IslandsUgandaUkraine (Україна)United Arab Emirates (الامارات العربية المتحدة)United KingdomUnited StatesUruguayUzbekistan (Ўзбекистон)VanuatuVatican City (Vaticano)VenezuelaVietnam (Việt Nam)Wallis and FutunaWestern Sahara (الصحراء الغربية)Yemen (اليمن)ZambiaZimbabwe
Don’t worry, no spam here! Your information will only be used for web.dev and Chrome related updates and our emails are typically no more than 1-2 times a month. You can unsubscribe anytime.
Add me to the web.dev mailing list.
I accept Google’s Terms and Conditions and acknowledge that my information will be used in accordance with Google’s Privacy Policy.
Languageen-US
Warning
Warning
It seems like you have JavaScript disabled or it failed to load. After you submit the form, press the back button to return to the site.
Создание функции в JavaScript — HTMLLab
Опубликовано от @altarasov — 3 комментария Рыба-заяцСоздание функции в JavaScript помогает познакомится с удобным механизмом, облегчающим написание и использование кода. В JavaScript функции занимают особую роль, являются типом данных. Помимо заданий, описанных ниже, можно выполнить задачи по JavaScript базового уровня используя функции JavaScript`а (например, написать функцию находящую объем цилиндра или размер переплат). Можно попробовать выполнить задачу посложней, написать функцию calendar(), принимающую год и месяц и возвращающую таблицу с днями соответствующего месяца. Но, в начале рекомендуется выполнить следующие десять заданий.
- Напишите функцию
hello1()
, которая при вызове будет возвращать строку «Привет, JavaScript!». - Напишите функцию
hello2()
, которая при вызове будет принимать переменную name (например, «Василий») и выводить строку (в нашем случае «Привет, Василий»). В случае отсутствующего аргумента выводить «Привет, гость» - Напишите функцию
mul(n,m)
, которая принимает два аргумента и возвращает произведение этих аргументов. Проверьте ее работу. - Создайте функцию repeat(str, n), которая возвращает строку, состоящую и n повторений строки str. n — по умолчанию 2, str — пустая строка
- Создайте функцию
rgb()
, которая будет принимать три числовых аргумента и возвращать строку вида «rgb(23,100,134)». Если аргументы не заданы, считать их равными нулю. Не проверять переменные на тип данных - Создайте функцию
avg()
, которая будет находить среднее значение по всем своим аргументам (аргументы величины числовые). - Создайте функцию m(a,b) оболочку для mul(). m() должна принимать два аргумента а возвращать результат работы mul() с этими двумя аргументами После выполнения задания поэкспериментируйте, создайте функцию
log()
, которая будет принимать одно значение, а вызыватьconsole.log() с этим значением
. - (*) Напишите функцию
operation(m,n,o)
, в которой m и n — числовые переменные, а o — функциональный литерал, который берет два аргумента и выполняет математическую операцию над ними (например, функция mul() из задания 4.) - (*) Напишите функцию addN(n), которая вернёт другую функцию. Возвращенная функция должна складывать получаемый аргумент с аргументом n возвращающей функции. Внимание, эта простая на реализацию замыкания.
- (*) Напишите функцию words(), которая в зависимости от переданного в нее целочисленного аргумента n, будет выводить слово «товар» в нужно форме («12 товаров», но «22 товара»). По умолчанию аргумент d должен иметь значение 0
Посмотреть другие задания по JavaScript
Рубрика: Курсы JavaScript
Обработчик функции Lambda AWS в Node.
jsОбработчик функции Lambda — это метод в коде функции, который обрабатывает события. Когда ваша функция вызывается, Lambda запускает метод обработчика. Когда обработчик завершает работу или возвращает ответ, он становится доступным для обработки. другое событие.
В следующем примере функция регистрирует содержимое объекта события и возвращает местоположение журналы.
Пример index.js
exports.handler = асинхронная функция (событие, контекст) { console.log("СОБЫТИЕ: \n" + JSON.stringify(событие, ноль, 2)) вернуть context.logStreamName }
При настройке функции значение параметра обработчика равно
имя файла и имя экспортируемого метода обработчика, разделенные точкой. По умолчанию в консоли и для
примеры в этом руководстве: index.handler
. Это указывает на метод обработчика
, который экспортируется
из файла index.js
.
Среда выполнения передает методу обработчика три аргумента. Первый аргумент — объект события
,
который содержит информацию от вызывающего. Вызывающий передает эту информацию в виде строки в формате JSON, когда он
вызывает Invoke, а среда выполнения преобразует его в объект. Когда сервис AWS вызывает вашу функцию, событие
структура зависит от услуги.
Второй аргумент — объект контекста, который содержит информацию о вызове, функции и среде выполнения. В предыдущем примере функция получает имя поток журнала из объекта контекста и возвращает его инициатору.
Третий аргумент, обратный вызов
, — это функция, которую вы можете вызывать в неасинхронных обработчиках для отправки ответа. Функция обратного вызова занимает два
аргументы: ошибка
и ответ. Когда вы его вызываете, Lambda ждет, пока цикл обработки событий не станет пустым, и
затем возвращает ответ или ошибку инициатору. Объект ответа должен быть совместим с JSON.stringify
.
Для обработчиков асинхронных функций вы возвращаете ответ, ошибку или обещание среде выполнения вместо использования обратный вызов
.
Если у вашей функции есть дополнительные зависимости, используйте npm, чтобы включить их в пакет развертывания.
Асинхронные обработчики
Для асинхронных обработчиков вы можете использовать return
и throw
для отправки ответа или ошибки,
соответственно. Функции должны использовать ключевое слово async
, чтобы использовать эти методы для возврата ответа или
ошибка.
Если ваш код выполняет асинхронную задачу, верните обещание, чтобы убедиться, что оно завершено. Когда ты разрешить или отклонить обещание, Lambda отправляет ответ или ошибку инициатору.
Пример файла index.js — HTTP-запрос с асинхронным обработчиком и промисами
const https = require('https')
пусть URL = "https://docs.aws.amazon.com/lambda/latest/dg/welcome.html"
exports.handler = асинхронная функция
(событие) {
константное обещание = новое обещание (функция (разрешить, отклонить) {
https. get (url, (разрешение) => {
разрешить (res.statusCode)
}).on('ошибка', (e) => {
отклонить (Ошибка (е))
})
})
вернуть обещание
}
Для библиотек, которые возвращают обещание, вы можете вернуть это обещание непосредственно в среду выполнения.
Пример файла index.js — AWS SDK с асинхронным обработчиком и обещаниями
const AWS = require('aws-sdk') const s3 = новый AWS.S3() exports.handler = асинхронная функция (событие) { вернуть s3.listBuckets().обещание() }
Неасинхронные обработчики
В следующем примере функция проверяет URL-адрес и возвращает вызывающему код состояния.
Пример файла index.js — HTTP-запрос с обратным вызовом
константа https = требуется ('https') пусть URL = "https://docs.aws.amazon.com/lambda/latest/dg/welcome.html" exports.handler = функция (событие, контекст, обратный вызов) { https.get (url, (разрешение) => {обратный вызов (null, res.statusCode)
}). on('ошибка', (e) => {обратный вызов (ошибка (е))
}) }
Для неасинхронных обработчиков выполнение функции продолжается до тех пор, пока цикл обработки событий не станет пустым или время ожидания функции истекло. Ответ не отправляется инициатору до тех пор, пока не будут завершены все задачи цикла обработки событий. Если время ожидания функции истекает, вместо этого возвращается ошибка. Вы можете настроить среду выполнения для немедленной отправки ответа установив для context.callbackWaitsForEmptyEventLoop значение false.
В следующем примере ответ от Amazon S3 возвращается инициатору, как только он становится доступным. тайм-аут, работающий в цикле событий, замораживается и продолжает работать при следующем вызове функции. вызывается.
Пример файла index.js – callbackWaitsForEmptyEventLoop
const AWS = require('aws-sdk') const s3 = новый AWS.S3() exports.handler = функция (событие, контекст, обратный вызов) { context. callbackWaitsForEmptyEventLoop = ложь s3.listBuckets(ноль, обратный вызов) setTimeout (функция () { console.log('Тайм-аут завершен.') }, 5000) }
Javascript отключен или недоступен в вашем браузере.
Чтобы использовать документацию Amazon Web Services, должен быть включен Javascript. Инструкции см. на страницах справки вашего браузера.
Условные обозначения документов
Работа с Node.js
Развертывание файловых архивов .zip
BiConsumer | Представляет операцию, которая принимает два входных аргумента и не возвращает результат. |
BiFunction | Представляет функцию, которая принимает два аргумента и возвращает результат. |
Двоичный оператор | Представляет собой операцию над двумя операндами одного типа, дающую результат того же типа, что и операнды. |
BiPredicate | Представляет предикат (логическую функцию) двух аргументов. |
Булев поставщик | Представляет поставщика |
Потребитель | Представляет операцию, которая принимает один входной аргумент и не возвращает результат. |
Даблбинариоператор | Представляет операцию над двумя |
Двойной потребитель | Представляет операцию, которая принимает один |
Двойная функция | Представляет функцию, которая принимает аргумент с двойным значением и создает результат. |
Двойной предикат | Представляет предикат (логическую функцию) одного |
Двойной поставщик | Представляет поставщика |
Даблтоинтфункция | Представляет функцию, которая принимает аргумент с двойным значением и создает int-значный результат. |
Даблтолонгфункция | Представляет функцию, которая принимает аргумент с двойным значением и создает долгосрочный результат. |
DoubleUnaryOperator | Представляет операцию над одним |
Функция | Представляет функцию, которая принимает один аргумент и возвращает результат. |
Интбинариоператор | Представляет операцию над двумя операндами со значениями |
IntConsumer | Представляет операцию, которая принимает один аргумент со значением |
IntFunction | Представляет функцию, которая принимает аргумент с целочисленным значением и создает результат. |
Интпредикат | Представляет предикат (логическую функцию) одного |
IntSupplier | Представляет поставщика |
Инттодаублефунктион | Представляет функцию, которая принимает аргумент с целочисленным значением и создает двузначный результат. |
Инттолонгфункция | Представляет функцию, которая принимает аргумент с целочисленным значением и создает долгосрочный результат. |
IntUnaryOperator | Представляет операцию над одним операндом со значением |
Лонгбинариоператор | Представляет собой операцию над двумя |
Длинный потребитель | Представляет операцию, которая принимает один |
Длинная функция | Представляет функцию, которая принимает аргумент с длинным значением и создает результат. |
Длинный предикат | Представляет предикат (логическую функцию) одного |
Длинный поставщик | Представляет поставщика |
LongToDoubleFunction | Представляет функцию, которая принимает аргумент с длинным значением и создает двузначный результат. |
LongToIntFunction | Представляет функцию, которая принимает аргумент с длинным значением и создает int-значный результат. |
LongUnaryOperator | Представляет операцию над одним |
ОбжДублеКонсумер<Т> | Представляет операцию, которая принимает объектное значение и |
ОбжИнтКонсумер<Т> | Представляет операцию, которая принимает объектное значение и |
ОбджЛонгКонсумер | Представляет операцию, которая принимает объектное значение и |
Предикат | Представляет предикат (логическую функцию) одного аргумента. |
Поставщик | Представляет поставщика результатов. |
ToDoubleBiFunction | Представляет функцию, которая принимает два аргумента и возвращает значение с двойным значением. результат. |
ToDoubleFunction | Представляет функцию, которая возвращает двойной результат. |
ToIntBiFunction | Представляет функцию, которая принимает два аргумента и возвращает целочисленное значение. |