API YouTube обрезает видео [PHP]

var scope = "I am global";
function whatismyscope(){
   var scope = "I am just a local";
   function func() {return scope;}
   return func;
}

whatismyscope()()

Вышеприведенный код вернет «Я просто локальный». Он не вернется «Я глобальный». Поскольку функция func () подсчитывает, где была изначально определена, которая находится в рамках функции whatismyscope.

Она не будет беспокоиться о том, что она называется (глобальная область / изнутри другой функции) поэтому глобальное значение области I глобально не будет напечатано.

Это называется лексическим охватом, где « функции выполняются с использованием цепочки областей действия, которая действовала, когда они были определены " - согласно Руководству по определению JavaScript.

Лексический охват - очень очень мощная концепция.

Надеюсь, это поможет ..:)

30
задан Markus Safar 27 November 2015 в 09:33
поделиться