JavaScript Strict Mode

The strict context prevents some actions and throws more exceptions. Strict mode changes previously accepted "bad syntax" into errors. Strict mode will for example prevent using undeclared variables. The "use strict" directive was new in ECMAScript version 5.

Strict Mode Benifits

Strict mode makes many changes to normal JavaScript semantics.

  • Strict mode eliminates JavaScript silent errors instead throw errors.
  • Strict mode prohibits some syntax likely to be defined in future versions of ECMAScript.
  • It prevents, or throws errors, when relatively “unsafe” actions are taken (such as gaining access to the global object).
  • Mistyping a variable name will create a new global variable. This will throw an error in strict mode. It will be impossible to accidentally create a global variable.
Strict mode is declared by adding "use strict". Strict mode can be used in two ways
  • Global scope for the entire script
  • Applied to individual functions.

Strict mode doesn’t work in block statements enclosed with {} braces.
The "use strict" directive is only recognized at the beginning of a script or a function.

Strict Mode Global Scope

Strict mode applied to the entire script. Declare strict mode at the beginning of a script.

JS JavaScript - Strict Mode Global Scope

// Declaring strict mode on top of other statements
'use strict';
var x = "using strict global mode script!";

Learn more about JavaScript Scope

Strict Mode Function Scope

Strict mode applied to individual functions. Declare strict mode at the beginning of the function.

JS JavaScript - Strict Mode Function Scope

function strict() {
  // Declaring strict mode in function scope
  'use strict';
  // variable must be declared before used
  var sum;
  sum1 = CalcalateThis(2,3);
  alert("Strict mode - 2+3: " + sum1);
  // variable is declared when it is used
  var sum2 = CalcalateThis(4,5);
  alert("Strict mode - 4+5: " + sum2);
function notStrict() {
  // variable can be used even though it`s not declared
  newSum = CalcalateThis(2,3);
  alert("Not-Strict mode - 2+3: " + newSum);

Learn more about JavaScript Keyword This

Strict Mode Exception

Here are some examples of syntax that will cause an error.

"use strict";
// An error will occure because x is not declared
x = "This will cause an error";
function myFunction() {
    // An error will occure because y is not declared
    y = "This will cause an error";;

Strict Mode Exception

Here are some more examples of syntax that will cause an error.

// This will NOT cause an error because strict mode is not implemented
x = "This will NOT cause an error";
function myFunction() {
    "use strict";
    // An error will occure because y is not declared
    y = "This will cause an error";


Check this out

JS JavaScript: Bitwise Operators

Bitwise operators will handle their operands as a sequence of 32 bits (zeroes and ones), and not like decimal, hexadecimal, or octal numbers. For example, the decimal number nine has a binary representation of 1001. Bitwise operators perform their operation....

JS JavaScript: Var

Var is a keyword that is used to declare a variable.

But, you should NOT use var, use let when declaring a variable.

One of the most important things is that you should try to keep things simple!

JS JavaScript: Variables

A variable contains a value. When you use the variable, you refer to the data it represents. You use variables to store, retrieve and manipulate values in your code.

JS JavaScript: JavaScript Essentials

JavaScript is a scripting or programming language that allows you to implement complex things on web pages. Every time a web page does more than just sit there and display static information for you to look at, displaying timely content updates, interactive maps, animated 2D/3....


JavaScript is one of the 3 core language technologies of the World Wide Web that all web developers must learn:

1.      HTML to define the content of web pages.

2.      CSS to specify the layout of web pages.

3.      JavaScript to program the behavior of web pages.

JavaScript is a scripting or programming language that allows you to implement complex things on web pages. Every time a web page does more than just sit there and display static information for you to look at, displaying timely content updates, interactive maps, animated 2D/3D graphics, scrolling video jukeboxes, etc. − you can bet that JavaScript is probably involved.

The benefits of using JavaScript are:

1.      You can validate user input before sending the page off to the server. This saves server traffic, which means less load on your server.

2.      Immediate feedback to the visitors − They don't have to wait for a page reload to see if they have forgotten to enter something.

3.      Increased interactivity − You can create interfaces that react when the user hovers over them with a mouse or activates them via the keyboard.

4.      Richer interfaces − You can use JavaScript to include such items as drag-and-drop components and sliders to give a Rich Interface to your site visitors.


Need more Honney

NDC Conferences

The NDC Conferences (Norwegian Developers Conference) are one of the world`s largest independent software conferences for .NET & Agile development. The conference covers everything you need to know within software development. The conferences are held each year in many places such as Oslo, Copenhagen, London, Sydney and Minnesota.

Update Conference Prague

Update Conference Prague is the biggest developer conference in the Czech Republic. The conference is offering sessions delivered by the top experts from all around the world. Their goal is to inspire the attendees and enrich their knowledge.

Troy Hunt

Learn about Web Security from Troy Hunt. He is a really engaged speaker that frequently give talks on conferences around the world. Troy is a Microsoft MVP and you can even learn from him on some great courses on Pluralsight.

W3Schools is a great education Web Site for learning web technologies. On W3Schools you may find well organized basic to advanced tutorials and references.

Scott Hanselman

Learn about Web Technologies and new trends from Scott Hanselman. Scott Hanselman is an author of developer books and he is an engaged speaker that usually talks about the Microsoft stack. You may meet Scott on conferences around the world.

Developer Week

DeveloperWeek is one of the world’s largest developer conferences. Developer Week focus on new dev technologies, the conference have talks and workshops for newbies and experienced audience. You can attend on a Developer Week conference different places in Nothern America.


Honneybag blog

Learn JavaScript Debugging

Searching for bugs and fixing them is called code debugging. The bugs might be difficult to diagnose and therefore it is important to have a good approach to find and fix the bugs effectively. Bugs in the code might be syntax errors or logical errors. Sometimes nothing happens when the code contains bugs and there is few indications where to search. Modern web browser includes a powerful suite of developer tools. The tools do a range of things...

Explore JavaScript Arrays

Arrays are frequently used by developers. Programming languages can have slightly different implementation of arrays. An array is an object that can store a collection of items. You may say it`s a special variable that can have more than one value. The array holds many values under a single name, and you may access the values by referring to an index number. The easiest way to create....

Ultimate Guide to HTML Colors

It is essential to give the user a good user experience. There are many things you should focus on, one of them is how you use colors on your website. We don't have to struggle with black and white TVs anymore. Users expect more and more and we can apply colors to everything we want. Texts, borders, backgrounds, shadows – in HTML they all can have whatever color you decide....

Wanna be a sheep? Check out the most popular subjects
Wanna be a little different? Check out the less popular subjects