Рубрики
Без рубрики

MJSQ 101:. ===, используйте строгий, пузырь событий,

Больше javaScript Вопросы 101 (MJSQ 101): Продолжение от моего оригинального поста в блоге, я даю вам … Tagged CodeNewie, JavaScript.

Дополнительные вопросы JavaScript 101 (MJSQ 101):

Продолжая от моего оригинального поста в блоге, я даю вам больше ответов на JavaScript 101!

Темы покрыты сегодня:

1) ===

2) «Используйте Strict»

3) пузырь событий

В чем разница между ===?

== Это оператор абстрактного равенства

Этот оператор по существу делает для вас преобразования типа, поэтому она будет производить правда Результат, когда содержимое то же самое, но тип не то же самое.

'1' == 1
//output true

1 == 1
//output true

=== это строгий оператор равенства

Этот оператор будет производить только правда Результат, если содержимое и тип равны.

'1' === 1
//output false

1 === 1
//output true

Что такое «использовать строгий» ;? Каковы преимущества и недостатки для его использования?

«Используйте строгие» Был введен с Ecmascript версии 5. Это указывает на то, что код должен быть выполнен в разделе «Строгий режим». «Строгий режим» облегчает писать «безопасный» JavaScript. Он будет производить ошибки для ранее принятого «плохой синтаксис».

Вещи не допускаются в «Строгий режиме»:

  • Не объявлять переменной
"use strict";
x = 3.14;  
//  This will cause an error
  • Не объявлять объекта
"use strict";
x = {p1:10, p2:20};  
//  This will cause an error
  • Удаление переменной (или объекта)
"use strict";
var x = 3.14;
delete x;
//  This will cause an error
  • Удаление функции
"use strict";
function x(p1, p2) {};
delete x;  
//  This will cause an error
  • Дублирование параметра
"use strict";
function x(p1, p1) {};  
//  This will cause an error
  • Восьмеричные цифровые литералы
"use strict";
var x = 010;    
//  This will cause an error
  • Октал Escape персонажей
"use strict";
var x = "\010" 
//  This will cause an error
  • Написание в собственности только для чтения
"use strict";
var obj = {};
Object.defineProperty(obj, "x", {value:0, writable:false});

obj.x = 3.14;
//  This will cause an error
  • Писать в недвижимость только на получении
"use strict";
var obj = {get x() {return 0} };

obj.x = 3.14;  
//  This will cause an error
  • Удаление недвижимости
"use strict";
delete Object.prototype; 
//  This will cause an error
  • Используя слово Eval как переменная
"use strict";
var eval = 3.14;  
//  This will cause an error
  • Используя слово аргументы как переменная
"use strict";
var arguments = 3.14; 
//  This will cause an error
  • с утверждение
"use strict";
with (Math){x = cos(2)}; 
//  This will cause an error
  • Использование EVAL () для создания переменных в области применения из которого он назывался
"use strict";
eval ("var x = 2");
alert (x);
//  This will cause an error

Это ключевое слово в функциях ведет себя по-разному в строгом режиме.

Это ключевое слово относится к объекту, которое называется функцией.

Если объект не указан, функции в строгом режиме вернутся неопределенные, а функции в обычном режиме вернутся глобальный объект (окно):

"use strict";
function myFunction() {
  alert(this); // will alert "undefined"
}
myFunction();

Как новичок, мое фактическое использование «Используйте строгий» ограничено, поэтому мы можем позвонить Янчунь принимает свои преимущества и недостатки:

Преимущества:

  • Делает невозможным случайно создавать глобальные переменные.
  • Делает задания, которые в противном случае в противном случае не могут бросить исключение.
  • Делает попытки удалить поднял свойства бросить (где до попытки просто не будет влиять).
  • Требуется, чтобы имена параметров функции быть уникальными.
  • Это не определен в глобальном контексте.
  • Он ловит некоторых общих кодировщиков, бросающих исключения.
  • Он отключает функции, которые путают или плохо продуманы.

Недостатки:

  • Многие недостающие функции, к которым могут быть использованы некоторые разработчики.
  • Больше нет доступа к Функция. Caller и Функция. Картуры Отказ
  • Соглашение сценариев, написанных в разных строгих режимах, может вызвать проблемы.

Опишите пузырь событий.

Мероприятие Burning это то, что позволяет делегировать события. Пузырь событий направляет предполагаемую цель, чтобы продолжать идти вверх и вверх, пока она не будет работать.

Вот пример:

  • Кнопка нажала, и событие направлено на кнопку
  • Если обработчик событий устанавливается для этого объекта, событие срабатывает
  • Если обработчик события не установлен для этого объекта, пузырьки событий вверх (как пузырь в воде) на родитель объектов
  • Событие пузыри от родителей до родителя, пока он не будет обрабатываться, или до тех пор, пока он не достигнет объекта документа.

Это все на сегодня, пожалуйста, оставьте комментарии/вопросы/исправления в комментариях. Спасибо!

Источники:

Огромная огромная благодаря Github User: Яншун для агрегирования самых популярных вопросов JS, CSS и HTML и предоставления нам его ответов на него. Мои еженедельные сообщения в блоге должны пройти несколько вопросов за раз, чтобы укрепить свои знания о фундаментальном JavaScript, поскольку я выращиваю свой опыт в этом. Многие из моего блога будут перефразировать, если не прямые цитаты из его GitHub. Найдите его справочник по телефону Tech здесь и, пожалуйста, поддержите его!

И дополнительное спасибо Flatiron Alum: Marissa O. Кто является разработчиком Badass в Forbes Magazine для направления меня в свой блог!

Другие источники: https://www.w3schools.com/jsref/event_bubbles.asp.

Оригинал: “https://dev.to/danvyle/mjsq-101-vs-use-strict-event-bubbling-1ea2”