ЯШ: При создании замыкания, как внутренняя функция получает доступ к аргументу внешней функции, если я не храню ее как переменную?

В VBA вы объединяете строки с символом &. Во-вторых, для доступа к столбцу K, когда вы перебираете столбец A, вы можете просто сделать .Offset(row,col).

Итак, ваша строка кода становится:

WSNew.Name = "Sample " & cell.Value & " NIIN " & cell.Offset(0,10).Value
'SheetName =  Sample   +     A7     +   NIIN   +          K7
0
задан anvita surapaneni 18 January 2019 в 23:58
поделиться

1 ответ

В примере 2 аргумент x передается внешней функции. Внутри внешней функции каждый объект имеет доступ к x, поскольку его область действия покрыта полным блоком кода этой функции. Когда внутренняя функция пытается получить доступ к этому x, она может сделать это легко, поскольку у нее есть доступ к этой области, поскольку она сама присутствует в этой области. Это как когда вы объявляете глобальную переменную и пытаетесь получить к ней доступ внутри функции. Функция имеет доступ ко всем глобальным переменным.

    var count=0;
    function a()
    {
    console.log(count++)
    }
    
    a();

Приведенное выше вернет счетчик + 1, как и

 function first(x) {
    
       console.log(x)
    
       function second() {
        return x + 100
    
       }
    
       return second
    }
    
    console.log(first(1)());
[ 1111]

0
ответ дан anvita surapaneni 18 January 2019 в 23:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: