JavaScript - проверьте если в глобальный контекст

Привет, вы можете использовать блок среды {} на уровне конвейера или на каждом этапе. В блоке Environment вы можете установить свои переменные, проверьте ниже пример:

pipeline {
    agent {label 'master'}
    environment{
        env1 = 'value0' // these are environment variables for all stages
    }
    stages{
        stage('stage 1') {
            environment{
                    env1 = 'value1' // these are environment variables for 'stage 1'
                    }
            steps{

                echo "$env1"
              }
            }
        stage('stage 2') {
            environment{
                    env1 = 'value2' // these are environment variables for 'stage 2'
                    }
            steps{

                echo "$env1"
              }
            }
        stage('stage 3') {
            steps{
                echo "$env1"
              }
            }
    }
}
6
задан nicael 11 May 2014 в 18:52
поделиться

3 ответа

Глобальный объект является на самом деле окном, таким образом, можно сделать

if (this === window)
8
ответ дан 8 December 2019 в 12:23
поделиться

Ниже должен работать начиная с использования Function.call со значением пустого указателя, вызовет его в глобальной области видимости.

this === ((function () { return this; }).call(null))

Более простой вариант,

this === (function () { return this; })()

будет также работать, но я думаю, что первое делает намерение более ясным.

10
ответ дан 8 December 2019 в 12:23
поделиться

Ответ RoBorg концептуально корректен - кроме window только доступно в контексте браузеров основной поток (таким образом, это обязательно исключает рабочие потоки и т.п., а также любой небраузер разместил JS, который становится все меньше и меньше редким).

Ваша самая безопасная ставка в основном, что Вы имели выше, но необходимо использовать var и === поскольку для интерпретатора возможно оптимизировать такие доступы более полностью.

1
ответ дан 8 December 2019 в 12:23
поделиться
Другие вопросы по тегам:

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