Что действительно “использует строгий”, делают в JavaScript, и каково обоснование позади него?

Хорошо я не уверен, но полагая, что функции являются инструкциями (ADD, SUB, JMP) и что у каждого из них есть шестнадцатеричные значения, я полагаю, что Вы не изменили бы функцию, но только инструкцию JMP ()...

7327
задан Mark Rogers 22 January 2017 в 15:30
поделиться

2 ответа

Эта статья о строгом режиме Javascript может вас заинтересовать: Джон Ресиг - Строгий режим ECMAScript 5, JSON и др.

Процитируем некоторые интересные части:

Строгий режим - это новая функция в ECMAScript 5, которая позволяет вам поместить программу или функцию в «строгий» рабочий контекст. Этот строгий контекст предотвращает выполнение определенных действий и вызывает больше исключений.

И:

Строгий режим помогает несколькими способами:

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

Также обратите внимание, что вы можете применить "строгий режим" к весь файл ... (функция () { "использовать строго"; // Определите вашу библиотеку строго ... }) (); // Нестрогий код ...

Что может быть полезно, если вам нужно смешивать старый и новый код; -)

Итак, я полагаю, это немного похоже на «use strict» , которое вы можете использовать в Perl ( отсюда и название?) : он помогает вам делать меньше ошибок, обнаруживая больше вещей, которые могут привести к поломкам.

Строгий режим теперь поддерживается всеми основными браузерами .

Внутри собственных модулей ECMAScript (с операторами import и export ) и классов ES6 строгий режим всегда включен и не может быть отключен.

4809
ответ дан 22 November 2019 в 19:37
поделиться

Это новая функция ECMAScript 5. Джон Ресиг написал прекрасное резюме этого.

Это просто строка, которую вы вставляете в свои файлы JavaScript (либо по адресу в верхней части файла или внутри функции), который выглядит следующим образом:

"use strict";

Включение этого кода в код не должно вызывать никаких проблем с текущими браузерами, поскольку это всего лишь строка. Это может вызвать проблемы с вашим кодом в будущем, если ваш код нарушает прагму. Например, если у вас есть foo = "bar" без определения foo сначала, ваш код начнет давать сбой ... что, на мой взгляд, хорошо.

1209
ответ дан 22 November 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: