diff --git a/core/misc/ajax.js b/core/misc/ajax.js
index 072cd2bf6603ee9cf56fb98e8803aeb2e621f251..d599799ae67983e043bcf61bfa23dffa4ee987f1 100644
--- a/core/misc/ajax.js
+++ b/core/misc/ajax.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Provides Ajax page updating via jQuery $.ajax (Asynchronous JavaScript and XML).
  *
diff --git a/core/misc/authorize.js b/core/misc/authorize.js
index d522a5ba9be4bbbc5378fe072f9d6d48f46883e4..aa4575d8375163036e10f0429d0d64fc7d747761 100644
--- a/core/misc/authorize.js
+++ b/core/misc/authorize.js
@@ -1,4 +1,3 @@
-
 /**
  * @file
  * Conditionally hide or show the appropriate settings and saved defaults
@@ -7,6 +6,8 @@
 
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.authorizeFileTransferForm = {
   attach: function(context) {
     $('#edit-connection-settings-authorize-filetransfer-default').change(function() {
diff --git a/core/misc/autocomplete.js b/core/misc/autocomplete.js
index a4f63354f90695e42e09827191a960ed8f43702b..8b0dd7237f17905e3df0301cf6b1ecb26bf5e438 100644
--- a/core/misc/autocomplete.js
+++ b/core/misc/autocomplete.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Attaches the autocomplete behavior to all required fields.
  */
diff --git a/core/misc/batch.js b/core/misc/batch.js
index 6d28b69ad1f325166d30667c951be69e9734338e..b83776dd1f629b43555bfff118784093bc06935d 100644
--- a/core/misc/batch.js
+++ b/core/misc/batch.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Attaches the batch behavior to progress bars.
  */
diff --git a/core/misc/collapse.js b/core/misc/collapse.js
index 28281a1cb4ac61dd23be765fe8f39b0680a9b34c..b484a6fce3eb0a7f6ffdd67fe8a0a34ccb4e75c4 100644
--- a/core/misc/collapse.js
+++ b/core/misc/collapse.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Toggle the visibility of a fieldset using smooth animations.
  */
diff --git a/core/misc/drupal.js b/core/misc/drupal.js
index 5bbbf511023ea7e926d3a71a6495dcabd6f8670f..43a78f3f0629ad48415d4346ff2be252cce2dbc9 100644
--- a/core/misc/drupal.js
+++ b/core/misc/drupal.js
@@ -5,6 +5,8 @@ jQuery.noConflict();
 
 (function ($) {
 
+"use strict";
+
 /**
  * Attach all registered behaviors to a page element.
  *
diff --git a/core/misc/form.js b/core/misc/form.js
index 4dc5b8c8bf3e43a50782e676e2ebdfc330744279..0e7cf7b13596ca9162c3531193ed6b671a62871d 100644
--- a/core/misc/form.js
+++ b/core/misc/form.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Retrieves the summary for the first element.
  */
diff --git a/core/misc/machine-name.js b/core/misc/machine-name.js
index ffe774f91018e03905ca0d0ed1c10bbd28bb9f6d..3cb7351cac77999840b9f582044a3acd0f7772a9 100644
--- a/core/misc/machine-name.js
+++ b/core/misc/machine-name.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Attach the machine-readable name form element behavior.
  */
diff --git a/core/misc/progress.js b/core/misc/progress.js
index b0e125cf32a6c94f4feab5d0a27adb7458aa80cb..343b9ad82031395542c2df5b9f57575cb448b495 100644
--- a/core/misc/progress.js
+++ b/core/misc/progress.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * A progressbar object. Initialized with the given id. Must be inserted into
  * the DOM afterwards through progressBar.element.
diff --git a/core/misc/states.js b/core/misc/states.js
index 955e8625b815774e5cabe4fbdb7aefcaf3aeb62d..fa7a10175234c0445d67d7cdbf5bf8a9b842b31c 100644
--- a/core/misc/states.js
+++ b/core/misc/states.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * The base States namespace.
  *
diff --git a/core/misc/tabledrag.js b/core/misc/tabledrag.js
index 16800e0342803a2af45091f828aeeadc4c47e001..273dcc1b28e86f7dd1d6f3a58742fdace8b6818f 100644
--- a/core/misc/tabledrag.js
+++ b/core/misc/tabledrag.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Drag and drop table rows with field manipulation.
  *
diff --git a/core/misc/tableheader.js b/core/misc/tableheader.js
index aa1c8bb4588b6cb011ce4f5073355adeea79d3a8..225cb7305badd68928692422c56daf87b3f700c2 100644
--- a/core/misc/tableheader.js
+++ b/core/misc/tableheader.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Attaches sticky table headers.
  */
diff --git a/core/misc/tableselect.js b/core/misc/tableselect.js
index b7011e0eea1b6fa68c8ff444af2d915208d61720..2bf708efab69661ffd27357b29f77c056b1d99d4 100644
--- a/core/misc/tableselect.js
+++ b/core/misc/tableselect.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.tableSelect = {
   attach: function (context, settings) {
     // Select the inner-most table in case of nested tables.
diff --git a/core/misc/timezone.js b/core/misc/timezone.js
index 6f82bc1d3eae356861a492aee54bd84182aa9464..29a6650a44982ce62a560e5b065661bde371888c 100644
--- a/core/misc/timezone.js
+++ b/core/misc/timezone.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Set the client's system time zone as default values of form fields.
  */
diff --git a/core/misc/vertical-tabs.js b/core/misc/vertical-tabs.js
index 65e56831984c76517c9d3e8e0161a8f2e57f036e..baae1d137b3294731d2ef95b3a581bd4a6da3bec 100644
--- a/core/misc/vertical-tabs.js
+++ b/core/misc/vertical-tabs.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * This script transforms a set of fieldsets into a stack of vertical
  * tabs. Another tab pane can be selected by clicking on the respective
diff --git a/core/modules/block/block.js b/core/modules/block/block.js
index dabb5701a51fdb374cf763499e0dc3866eec4b16..e20001714e528bd6467282e142d8b6fc5d3fcdac 100644
--- a/core/modules/block/block.js
+++ b/core/modules/block/block.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Provide the summary information for the block settings vertical tabs.
  */
diff --git a/core/modules/book/book.js b/core/modules/book/book.js
index e6ab4facb96dfb99e2b35c72157c9147384e3a43..b7a6713faa86a76c05a1eadca66359db15ef3559 100644
--- a/core/modules/book/book.js
+++ b/core/modules/book/book.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.bookFieldsetSummaries = {
   attach: function (context) {
     $(context).find('fieldset.book-outline-form').drupalSetSummary(function (context) {
diff --git a/core/modules/color/color.js b/core/modules/color/color.js
index d833a4b7177ec17dc5b8a828ea8b640134a3e7a2..31c526e79db3138e356adf4be4b604e0860b86c0 100644
--- a/core/modules/color/color.js
+++ b/core/modules/color/color.js
@@ -5,6 +5,8 @@
 
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.color = {
   attach: function (context, settings) {
     var i, j, colors, field_name;
diff --git a/core/modules/color/preview.js b/core/modules/color/preview.js
index 69c3897a76217a56028241c01f8b752a89b61975..9e1998515ce723cabf2cb2b31c86ad4b44564af9 100644
--- a/core/modules/color/preview.js
+++ b/core/modules/color/preview.js
@@ -4,6 +4,9 @@
  */
 
 (function ($) {
+
+  "use strict";
+
   Drupal.color = {
     callback: function(context, settings, form, farb, height, width) {
       // Solid background.
diff --git a/core/modules/comment/comment-node-form.js b/core/modules/comment/comment-node-form.js
index 51ea49256907694fab3ba34b728bc08aee78d84c..0249d96dadc8be49ca53cd4ef591241c9915c0c3 100644
--- a/core/modules/comment/comment-node-form.js
+++ b/core/modules/comment/comment-node-form.js
@@ -5,6 +5,8 @@
 
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.commentFieldsetSummaries = {
   attach: function (context) {
     var $context = $(context);
diff --git a/core/modules/contextual/contextual.js b/core/modules/contextual/contextual.js
index 5c477264fd9d1f0d5415b7fc79ccaf947f8fe70d..3b7aeeb50891a7737006d4898e66eed321442f7b 100644
--- a/core/modules/contextual/contextual.js
+++ b/core/modules/contextual/contextual.js
@@ -5,6 +5,8 @@
 
 (function ($) {
 
+"use strict";
+
 Drupal.contextualLinks = Drupal.contextualLinks || {};
 
 /**
diff --git a/core/modules/dashboard/dashboard.js b/core/modules/dashboard/dashboard.js
index 39d87c20e9cd73175678e11e32cede299a61f566..e1a43e02fa87eaf067dbe1f564c989abb66d713b 100644
--- a/core/modules/dashboard/dashboard.js
+++ b/core/modules/dashboard/dashboard.js
@@ -5,6 +5,8 @@
 
 (function ($) {
 
+"use strict";
+
 /**
  * Implements Drupal.behaviors for the Dashboard module.
  */
diff --git a/core/modules/field/modules/text/text.js b/core/modules/field/modules/text/text.js
index 01a49a738afed516e6672c69d4ffa5693697a4f6..efc5579fc5af97d64e1f124b3449f920b0e28203 100644
--- a/core/modules/field/modules/text/text.js
+++ b/core/modules/field/modules/text/text.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Auto-hide summary textarea if empty and show hide and unhide links.
  */
diff --git a/core/modules/field_ui/field_ui.js b/core/modules/field_ui/field_ui.js
index 6de5c15438974530bed140a88bfbf585a9d91df9..87c10910c9a3945ba7d51da20e3bca940be71a31 100644
--- a/core/modules/field_ui/field_ui.js
+++ b/core/modules/field_ui/field_ui.js
@@ -5,6 +5,8 @@
  
 (function($) {
 
+"use strict";
+
 Drupal.behaviors.fieldUIFieldOverview = {
   attach: function (context, settings) {
     $(context).find('table#field-overview').once('field-overview', function () {
diff --git a/core/modules/file/file.js b/core/modules/file/file.js
index a934afe2d7ec917301d45921947841cdd6ce6c65..cec3fe8ccbabe2e6bbdf0b6a8c1395ab49231640 100644
--- a/core/modules/file/file.js
+++ b/core/modules/file/file.js
@@ -9,6 +9,8 @@
 
 (function ($) {
 
+"use strict";
+
 /**
  * Attach behaviors to managed file element upload fields.
  */
diff --git a/core/modules/filter/filter.admin.js b/core/modules/filter/filter.admin.js
index 43cda26ef565e8468fa744c8af3fce9d0392a2c1..b002041acdbd7d85349cc5f424d38d7d23d7c111 100644
--- a/core/modules/filter/filter.admin.js
+++ b/core/modules/filter/filter.admin.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.filterStatus = {
   attach: function (context, settings) {
     var $context = $(context);
diff --git a/core/modules/filter/filter.js b/core/modules/filter/filter.js
index db5f42a4927c2d788d7565878a93bceffaef419d..948273791fc7e87b80575434c34cc4398e6dd371 100644
--- a/core/modules/filter/filter.js
+++ b/core/modules/filter/filter.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Automatically display the guidelines of the selected text format.
  */
diff --git a/core/modules/locale/locale.datepicker.js b/core/modules/locale/locale.datepicker.js
index 81f1e17b3cff38ef952ef059cb57e8ae2ee2b221..024c1e291c1ec6b698ed53478586fa12c0f09ade 100644
--- a/core/modules/locale/locale.datepicker.js
+++ b/core/modules/locale/locale.datepicker.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 $.datepicker.regional['drupal-locale'] = {
   closeText: Drupal.t('Done'),
   prevText: Drupal.t('Prev'),
diff --git a/core/modules/menu/menu.admin.js b/core/modules/menu/menu.admin.js
index 42d69d533e120473311f415e0bc3553f433b558e..8bbb6ad54136b92823bc0dfa5a17513f9029771a 100644
--- a/core/modules/menu/menu.admin.js
+++ b/core/modules/menu/menu.admin.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.menuChangeParentItems = {
   attach: function (context, settings) {
     $('fieldset#edit-menu input').each(function () {
diff --git a/core/modules/menu/menu.js b/core/modules/menu/menu.js
index f315e7aa78e531c41741cc0ca275f2e395a3c567..f3bfb1c874b5c4992d7063bdf0b1beee4eccbd09 100644
--- a/core/modules/menu/menu.js
+++ b/core/modules/menu/menu.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.menuFieldsetSummaries = {
   attach: function (context) {
     $(context).find('fieldset.menu-link-form').drupalSetSummary(function (context) {
diff --git a/core/modules/node/content_types.js b/core/modules/node/content_types.js
index 43cfa378829d6ae6a2e819084d929a839b2d2003..5c1c44e0f157a89ab46f8803fb8f806fd6531bd6 100644
--- a/core/modules/node/content_types.js
+++ b/core/modules/node/content_types.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.contentTypes = {
   attach: function (context) {
     var $context = $(context);
diff --git a/core/modules/node/node.js b/core/modules/node/node.js
index 899016408d5bd28fefde3cddcbbe1a60a8b8ed44..0899d3c50cb09e995c8809e172f7a84922bf3db6 100644
--- a/core/modules/node/node.js
+++ b/core/modules/node/node.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.nodeFieldsetSummaries = {
   attach: function (context) {
     var $context = $(context);
diff --git a/core/modules/openid/openid.js b/core/modules/openid/openid.js
index 754efb157f669aedb70a5440d8ae50a2c7d7656f..53a0cb3d58816deca1c57fb478c006f787a87fb3 100644
--- a/core/modules/openid/openid.js
+++ b/core/modules/openid/openid.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.openid = {
   attach: function (context) {
     var $context = $(context);
diff --git a/core/modules/overlay/overlay-child.js b/core/modules/overlay/overlay-child.js
index ff111d89d4bb0009d40a97cbb2a94501c0a403ce..29a97901251681e016c62eb7872f0eb9c4b5aa7c 100644
--- a/core/modules/overlay/overlay-child.js
+++ b/core/modules/overlay/overlay-child.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Attach the child dialog behavior to new content.
  */
diff --git a/core/modules/overlay/overlay-parent.js b/core/modules/overlay/overlay-parent.js
index aa90d9bb50696154cfdb39a1bd424a9d68c773cc..6537cb640f2a1def2a3ad5f1eb390a3bfe0f49cd 100644
--- a/core/modules/overlay/overlay-parent.js
+++ b/core/modules/overlay/overlay-parent.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Open the overlay, or load content into it, when an admin link is clicked.
  */
diff --git a/core/modules/path/path.js b/core/modules/path/path.js
index b20378e1da82175a501838aa9260a33509eff5ae..41b6e8f8e9b3c01c729bc0552b3c634f7b69c68b 100644
--- a/core/modules/path/path.js
+++ b/core/modules/path/path.js
@@ -4,6 +4,8 @@
  */
 (function ($) {
 
+"use strict";
+
 Drupal.behaviors.pathFieldsetSummaries = {
   attach: function (context) {
     $(context).find('fieldset.path-form').drupalSetSummary(function (context) {
diff --git a/core/modules/shortcut/shortcut.admin.js b/core/modules/shortcut/shortcut.admin.js
index 2647f343e1ac28cc9315d2c92a8dc4f240122b39..4530df52f923bddda649a1171881f13ec6775495 100644
--- a/core/modules/shortcut/shortcut.admin.js
+++ b/core/modules/shortcut/shortcut.admin.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Handle the concept of a fixed number of slots.
  *
diff --git a/core/modules/simpletest/simpletest.js b/core/modules/simpletest/simpletest.js
index 2199fede78cb008fe409dc1ae9c9586ac08abd72..1e2d2465d142e54d6aef04c7e5be28699c5caeaa 100644
--- a/core/modules/simpletest/simpletest.js
+++ b/core/modules/simpletest/simpletest.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Add the cool table collapsing on the testing overview page.
  */
diff --git a/core/modules/statistics/statistics.js b/core/modules/statistics/statistics.js
index 65793d36e646d2ec9271c95327b20b579956f91a..5618c55f2d5af6d24f2c184c53e55bc392e0ace4 100644
--- a/core/modules/statistics/statistics.js
+++ b/core/modules/statistics/statistics.js
@@ -1,4 +1,7 @@
 (function ($) {
+
+  "use strict";
+
   $(document).ready(function() {
     var nid = Drupal.settings.statistics.nid;
     var basePath = Drupal.settings.basePath
diff --git a/core/modules/system/system.cron.js b/core/modules/system/system.cron.js
index aa5b351138600682f2440ce2ee038536279405b6..0686982dc3af76628ff8417c625469f51c50e8c8 100644
--- a/core/modules/system/system.cron.js
+++ b/core/modules/system/system.cron.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Checks to see if the cron should be automatically run.
  */
diff --git a/core/modules/system/system.js b/core/modules/system/system.js
index ab00426b2024c23ed487560ae5a4abe5ace2bec7..03bee22de061e6d32d7740fbcce3dcdc34cead18 100644
--- a/core/modules/system/system.js
+++ b/core/modules/system/system.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Show/hide the 'Email site administrator when updates are available' checkbox
  * on the install page.
diff --git a/core/modules/taxonomy/taxonomy.js b/core/modules/taxonomy/taxonomy.js
index 035dc29640e3ecda8417ff73f551b3bcad45d890..0fe6e9a9e9f21f42ca1d835f62d4606dd12871c1 100644
--- a/core/modules/taxonomy/taxonomy.js
+++ b/core/modules/taxonomy/taxonomy.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Move a block in the blocks table from one region to another via select list.
  *
diff --git a/core/modules/toolbar/toolbar.js b/core/modules/toolbar/toolbar.js
index d345284146097de65e012fccbfa400ac9d1de54a..ee8bddbdc62cd1cd2fa13eab41469ba41b0be0d0 100644
--- a/core/modules/toolbar/toolbar.js
+++ b/core/modules/toolbar/toolbar.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 Drupal.toolbar = Drupal.toolbar || {};
 
 /**
diff --git a/core/modules/user/user.js b/core/modules/user/user.js
index 59a178e89e119e75198525c4d403226c9d7557ed..147c4c2a7bb3cea3f72bfe5fd7c73e0c75a1c55a 100644
--- a/core/modules/user/user.js
+++ b/core/modules/user/user.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Attach handlers to evaluate the strength of any password fields and to check
  * that its confirmation is correct.
@@ -157,6 +159,7 @@ Drupal.evaluatePasswordStrength = function (password, translate) {
     strength = 5;
   }
 
+  var indicatorText;
   // Based on the strength, work out what text should be shown by the password strength meter.
   if (strength < 60) {
     indicatorText = translate.weak;
diff --git a/core/modules/user/user.permissions.js b/core/modules/user/user.permissions.js
index 896c93678749dc8ca91eef883967d8b2016ab190..4b6d4c957deccb2182271be8c6bf4b65e95ed441 100644
--- a/core/modules/user/user.permissions.js
+++ b/core/modules/user/user.permissions.js
@@ -1,5 +1,7 @@
 (function ($) {
 
+"use strict";
+
 /**
  * Shows checked and disabled checkboxes for inherited permissions.
  */
diff --git a/core/themes/bartik/color/preview.js b/core/themes/bartik/color/preview.js
index aeb41717737592c45d340bab8b866ce6edce3798..531deecfe1ccb20364afdfa4f1f5a2959a691ede 100644
--- a/core/themes/bartik/color/preview.js
+++ b/core/themes/bartik/color/preview.js
@@ -2,8 +2,10 @@
  * @file
  * Preview for the Bartik theme.
  */
-
 (function ($) {
+
+  "use strict";
+
   Drupal.color = {
     logoChanged: false,
     callback: function(context, settings, form, farb, height, width) {