Область действия переменной в коде сортировки вставки - PullRequest
0 голосов
/ 14 ноября 2018

Я наткнулся на рабочий код для вставки сортировки, который выглядит следующим образом:

function insertionSort(array) {
    for (let i = 1; i < array.length; i++){
       let curr = array[i];
       for (var j = i-1; j >= 0 && array[j] > curr; j--){
          array[j+1] = array[j];
       }
       array[j+1] = curr;
    }
    return array;
}

Мой вопрос: не должен ли j в строке:

array[j+1] = curr;

быть внеобласти?Что мне здесь не хватает?

1 Ответ

0 голосов
/ 14 ноября 2018

Объявление переменных javascript с помощью var делает область видимости переменной границей всей функции, в которой она объявлена.

В противоположность let, которая ограничивает область действия блоком, в котором она определена.

Итак, нет. Это не выйдет за рамки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...