56 lines
2.7 KiB
Markdown
56 lines
2.7 KiB
Markdown
|
---
|
|||
|
title: Strict Mode
|
|||
|
localeTitle: Строгий режим
|
|||
|
---
|
|||
|
Строгий режим был введен в ECMAScript 5, который позволяет размещать программу или функцию в «строгом» рабочем контексте. Этот строгий контекст предотвращает принятие определенных действий и выдает больше исключений.
|
|||
|
|
|||
|
Строгий режим делает несколько изменений в обычной семантике JavaScript.
|
|||
|
|
|||
|
* Во-первых, строгий режим устраняет некоторые ошибки в JavaScript без изменения ошибок.
|
|||
|
* Во-вторых, строгий режим исправляет ошибки, которые затрудняют выполнение JavaScript-движками: строгий режимный код иногда может запускаться быстрее, чем идентичный код, который не является строгим.
|
|||
|
* В-третьих, строгий режим запрещает некоторый синтаксис, который может быть определен в будущих версиях ECMAScript.
|
|||
|
|
|||
|
Строгий режимный код и нестрогий код режима могут сосуществовать в одном скрипте.
|
|||
|
|
|||
|
```javascript
|
|||
|
// Non-strict code...
|
|||
|
|
|||
|
(function(){
|
|||
|
"use strict";
|
|||
|
|
|||
|
// Define your library strictly...
|
|||
|
})();
|
|||
|
|
|||
|
// Non-strict code...
|
|||
|
```
|
|||
|
|
|||
|
## Вызов строгого режима
|
|||
|
|
|||
|
Строгий режим применяется ко _всем скриптам_ или к _отдельным функциям_ .
|
|||
|
|
|||
|
**Строгий режим для скриптов**
|
|||
|
|
|||
|
```javascript
|
|||
|
// Whole-script strict mode syntax
|
|||
|
|
|||
|
"use strict";
|
|||
|
var v = "Hi! I'm a strict mode script!";
|
|||
|
```
|
|||
|
|
|||
|
**Строгий режим для функций**
|
|||
|
|
|||
|
```javascript
|
|||
|
function strict(){
|
|||
|
// Function-level strict mode syntax
|
|||
|
|
|||
|
'use strict';
|
|||
|
function nested() { return "And so am I!"; }
|
|||
|
return "Hi! I'm a strict mode function! " + nested();
|
|||
|
}
|
|||
|
|
|||
|
function notStrict() { return "I'm not strict."; }
|
|||
|
```
|
|||
|
|
|||
|
**В основном это помогает сделать меньше ошибок, обнаруживая вещи, которые могут привести к поломке, которые не обнаружены нормально (нестрогий режим).**
|
|||
|
|
|||
|
_Для получения дополнительной информации ознакомьтесь с этой [страницей MDN](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Strict_mode) ._
|