diff --git a/core/modules/block/js/block.admin.js b/core/modules/block/js/block.admin.js
index 23109f4..8001ae4 100644
--- a/core/modules/block/js/block.admin.js
+++ b/core/modules/block/js/block.admin.js
@@ -10,11 +10,18 @@
   /**
    * Filters the block list by a text input search string.
    *
-   * Text search input: input.block-filter-text
-   * Target element:    input.block-filter-text[data-element]
-   * Source text:       .block-filter-text-source
+   * The text input will have the selector `input.block-filter-text`.
+   *
+   * The target element to do searching in will be in the selector
+   * `input.block-filter-text[data-element]`
+   *
+   * The text source where the text should be found will have the selector
+   * `.block-filter-text-source`
    *
    * @type {Drupal~behavior}
+   *
+   * @prop {Drupal~behaviorAttach} attach
+   *   Attaches the behavior for the block filtering.
    */
   Drupal.behaviors.blockFilterByText = {
     attach: function (context, settings) {
@@ -24,10 +31,12 @@
       var $details;
 
       /**
-       * Hides the `<details>` element for a category if it has no visible blocks.
+       * Hides the `<details>` element for a category with no visible blocks.
        *
-       * @param {number} index
+       * @param {number} [index]
+       *   The index in the loop, as provided by `jQuery.each`
        * @param {HTMLElement} element
+       *   The element to hide.
        */
       function hideCategoryDetails(index, element) {
         var $catDetails = $(element);
@@ -38,6 +47,7 @@
        * Filters the block list.
        *
        * @param {jQuery.Event} e
+       *   The jQuery event for the keyup event that triggered the filter.
        */
       function filterBlockList(e) {
         var query = $(e.target).val().toLowerCase();
@@ -46,7 +56,9 @@
          * Shows or hides the block entry based on the query.
          *
          * @param {number} index
+         *   The index in the loop, as provided by `jQuery.each`
          * @param {HTMLElement} block
+         *   The element to toggle.
          */
         function showBlockEntry(index, block) {
           var $block = $(block);
@@ -88,6 +100,9 @@
    * Highlights the block that was just placed into the block listing.
    *
    * @type {Drupal~behavior}
+   *
+   * @prop {Drupal~behaviorAttach} attach
+   *   Attaches the behavior for the block placement highlighting.
    */
   Drupal.behaviors.blockHighlightPlacement = {
     attach: function (context, settings) {
diff --git a/core/modules/block/js/block.js b/core/modules/block/js/block.js
index acf7e4a..a9d52a7 100644
--- a/core/modules/block/js/block.js
+++ b/core/modules/block/js/block.js
@@ -11,6 +11,9 @@
    * Provide the summary information for the block settings vertical tabs.
    *
    * @type {Drupal~behavior}
+   *
+   * @prop {Drupal~behaviorAttach} attach
+   *   Attaches the behavior for the block settings summaries.
    */
   Drupal.behaviors.blockSettingsSummary = {
     attach: function () {
@@ -21,6 +24,15 @@
         return;
       }
 
+      /**
+       * Create a summary for checkboxes in the provided context.
+       *
+       * @param {HTMLDocument|HTMLElement} context
+       *   A context where one would find checkboxes to summarize.
+       *
+       * @return {string}
+       *   A string with the summary.
+       */
       function checkboxesSummary(context) {
         var vals = [];
         var $checkboxes = $(context).find('input[type="checkbox"]:checked + label');
@@ -49,12 +61,15 @@
   };
 
   /**
-   * Move a block in the blocks table from one region to another via select list.
+   * Move a block in the blocks table between regions via select list.
    *
    * This behavior is dependent on the tableDrag behavior, since it uses the
    * objects initialized in that behavior to update the row.
    *
    * @type {Drupal~behavior}
+   *
+   * @prop {Drupal~behaviorAttach} attach
+   *   Attaches the tableDrag behaviour for blocks in block administration.
    */
   Drupal.behaviors.blockDrag = {
     attach: function (context, settings) {
@@ -71,7 +86,8 @@
         checkEmptyRegions(table, this);
       };
 
-      // Add a handler so when a row is dropped, update fields dropped into new regions.
+      // Add a handler so when a row is dropped, update fields dropped into
+      // new regions.
       tableDrag.onDrop = function () {
         var dragObject = this;
         var $rowElement = $(dragObject.rowObject.element);
@@ -82,10 +98,11 @@
         var regionField = $rowElement.find('select.block-region-select');
         // Check whether the newly picked region is available for this block.
         if (regionField.find('option[value=' + regionName + ']').length === 0) {
-          // If not, alert the user and keep the block in its old region setting.
+          // If not, alert the user and keep the block in its old region
+          // setting.
           window.alert(Drupal.t('The block cannot be placed in this region.'));
-          // Simulate that there was a selected element change, so the row is put
-          // back to from where the user tried to drag it.
+          // Simulate that there was a selected element change, so the row is
+          // put back to from where the user tried to drag it.
           regionField.trigger('change');
         }
         else if ($rowElement.prev('tr').is('.region-message')) {
@@ -108,7 +125,8 @@
           var select = $(this);
           tableDrag.rowObject = new tableDrag.row(row);
 
-          // Find the correct region and insert the row as the last in the region.
+          // Find the correct region and insert the row as the last in the
+          // region.
           table.find('.region-' + select[0].value + '-message').nextUntil('.region-message').eq(-1).before(row);
 
           // Modify empty regions with added or removed fields.
@@ -118,12 +136,22 @@
         });
       });
 
+      /**
+       * Checks empty regions and toggles classes based on this.
+       *
+       * @param {jQuery} table
+       *   The jQuery object representing the table to inspect.
+       * @param {jQuery} rowObject
+       *   The jQuery object representing the table row.
+       */
       var checkEmptyRegions = function (table, rowObject) {
         table.find('tr.region-message').each(function () {
           var $this = $(this);
-          // If the dragged row is in this region, but above the message row, swap it down one space.
+          // If the dragged row is in this region, but above the message row,
+          // swap it down one space.
           if ($this.prev('tr').get(0) === rowObject.element) {
-            // Prevent a recursion problem when using the keyboard to move rows up.
+            // Prevent a recursion problem when using the keyboard to move rows
+            // up.
             if ((rowObject.method !== 'keyboard' || rowObject.direction === 'down')) {
               rowObject.swap('after', this);
             }
