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) ._ |