Skip to content

Instantly share code, notes, and snippets.

@suroegin
Last active July 20, 2017 09:22
Show Gist options
  • Save suroegin/36fe5ceb60dbd19d0b3176becf8c2622 to your computer and use it in GitHub Desktop.
Save suroegin/36fe5ceb60dbd19d0b3176becf8c2622 to your computer and use it in GitHub Desktop.

📒 Javascript: важные моменты

Асинхронные скрипты: defer / async

Атрибут async

  • Поддерживается всеми браузерами, кроме IE9 и ниже.
  • Браузер не останавливает обработку страницы при обнаружении скрипта.
  • Скрипт выполняется как только будет загружен.

Атрибут defer

  • Поддерживается ВСЕМИ браузерами.

  • Работает также асинхронно, но есть два момента:

    <script src="1.js" defer></script>
    <script src="2.js" defer></script>

    *Первым сработает всегда 1.js, 2.js, даже если загрузился раньше, будет его ждать.

    <script src="async.js" async></script>
    <script src="defer.js" defer></script>

    Скрипт с defer сработает после того, как весь HTML-документ будет обработан браузером.

⚠️ Атрибуты async/defer работают только для внешних скриптов!

Современный стандарт "use strict"

Для включения режима полного соответствия современному стандарту, нужно указать специальную директиву use strict. Ставится в начале скрипта.

"use strict";

// код будет работать по современному стандарту

Шесть типов данных, typeof

  • number - целые, вещественные числа
  • string - строки
  • boolean - булевый
  • null - специальное значение, пустота, "ничего"
  • undefined - "значение не присвоено"
  • object - используется для коллекций данных и для объявления более сложных сущностей.
typeof undefined // "undefined"
typeof 0 // "number"
typeof true // "boolean"
typeof "foo" // "string"
typeof {} // "object"
typeof null // "object"  (1)
typeof function(){} // "function"  (2)

...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment