2016-04-21 4 views
3

Есть ли способ проверить, была ли указана переменная JavaScript в глобальной области вашего кода? Вот случай использования:Проверка, задана ли переменная в глобальной области?

var pizza; 

pizza.isGlobalScoped() 

Есть ли какой-либо метод/условное или любым другим способом, чтобы выяснить, если переменная не блокировать Scoped или в закрытии?

+1

Поскольку вы добавили 'reactjs' тег, определить глобальные. –

+0

Ну, все переменные, которые ограничены блоком, известны статически, поэтому это не особенно интересно ... – Bergi

+0

Почему это связано с ECMAScript 6? – Bergi

ответ

0

No.

Если вы из «строгого» режима, вы можете объявить переменную как таковой:

thing = 'hello world'; 

console.log(window.thing); // => 'hello world'; 

Кроме этого, нет никакого способа, чтобы определить область действия переменные, если вы не запрашиваете какой-либо объект, к которому он привязан.

+0

Это не * объявление *. – Bergi

+0

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

+0

---> ({a, b} = {a: {}, b: {}}); после этого мы могли бы использовать метод или что-то в переменной, и он монтируется в функцию с блочным ограничением/независимо –

3

В браузере вы можете сделать

If ("pizza" in window)...