Хорошо я не уверен, но полагая, что функции являются инструкциями (ADD, SUB, JMP) и что у каждого из них есть шестнадцатеричные значения, я полагаю, что Вы не изменили бы функцию, но только инструкцию JMP ()...
Эта статья о строгом режиме Javascript может вас заинтересовать: Джон Ресиг - Строгий режим ECMAScript 5, JSON и др.
Процитируем некоторые интересные части:
Строгий режим - это новая функция в ECMAScript 5, которая позволяет вам поместить программу или функцию в «строгий» рабочий контекст. Этот строгий контекст предотвращает выполнение определенных действий и вызывает больше исключений.
И:
Строгий режим помогает несколькими способами:
- Он отлавливает некоторые распространенные ошибки программирования, генерируя исключения.
- Он предотвращает, или выдает ошибки, когда предпринимаются относительно "небезопасные" действия (например, получение доступа к глобальному объекту).
- Это отключает функции, которые сбивают с толку или плохо продуманы.
Также обратите внимание, что вы можете применить "строгий режим" к весь файл ... (функция () { "использовать строго"; // Определите вашу библиотеку строго ... }) (); // Нестрогий код ...
Что может быть полезно, если вам нужно смешивать старый и новый код; -)
Итак, я полагаю, это немного похоже на «use strict»
, которое вы можете использовать в Perl ( отсюда и название?) : он помогает вам делать меньше ошибок, обнаруживая больше вещей, которые могут привести к поломкам.
Строгий режим теперь поддерживается всеми основными браузерами .
Внутри собственных модулей ECMAScript (с операторами import
и export
) и классов ES6 строгий режим всегда включен и не может быть отключен.
Это новая функция ECMAScript 5. Джон Ресиг написал прекрасное резюме этого.
Это просто строка, которую вы вставляете в свои файлы JavaScript (либо по адресу в верхней части файла или внутри функции), который выглядит следующим образом:
"use strict";
Включение этого кода в код не должно вызывать никаких проблем с текущими браузерами, поскольку это всего лишь строка. Это может вызвать проблемы с вашим кодом в будущем, если ваш код нарушает прагму. Например, если у вас есть foo = "bar"
без определения foo
сначала, ваш код начнет давать сбой ... что, на мой взгляд, хорошо.