Описание тега hoisting

Подъем означает, что локальные переменные внутри области видимости функции обрабатываются так, как если бы они были объявлены в начале оценки функции, независимо от того, где они фактически объявлены.

Подъем позволяет объявлять переменные и функции в любом порядке. Подъем объявлений переменных вне циклов - это обычная оптимизация компилятора. Например:

function g(A, x, y)
  for k = 1:2000
    x = x[k]
    for l = 1:2000
        if x && y[l]
          A[l,k] += .1
        end
    end
  end
end

function g(A, x, y)
  k = 0
  x = x[k]
  for k = 1:2000
    for l = 1:2000
        if x && y[l]
          A[l,k] += .1
        end
    end
  end
end

Объявления функций подняты на следующих языках:

  • JavaScript
  • ActionScript
  • VBScript
  • Python

Объявления переменных поддерживаются на следующих языках:

  • JavaScript
  • ActionScript
  • VBScript

Ссылки