<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JScript: операции с областью видимости]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=16507&amp;type=atom" />
	<updated>2021-07-29T07:27:07Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=16507</id>
		<entry>
			<title type="html"><![CDATA[JScript: операции с областью видимости]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=149086#p149086" />
			<content type="html"><![CDATA[<p>Дано: <br />1) ScriptControl<br />2) Модульная загрузка кода в SC<br />3) Иерархия модулей:<br />	уровень 1. модуль парсер - базовые инструменты для всех парсеров<br />	уровень 2. модули авито, циан и т.д. - общие инструменты для работы со всеми разделами авито (дома, квартиры, земля и т.п.), циан и т.п.<br />	уровень 3. модули авитоКвартиры, авитоДома и т.д. - настройки для работы с конкретными разделами источников</p><p>Пояснение:<br />Модули уровня 3 должны получать доступ к функциям и переменным, определенным в модулях уровней 2 и 1. Модули уровня 2 должны получать функции и инструменты из модуля уровня 1.</p><p>Вопрос:<br />Как подключить область видимости модулей уровня 1 и 2 в модули уровня 3?</p><p>Дополнение:<br />В существущей реализации загрузки кода глобальная область видимости SC глючит: после некоторой загрузки кода в ней остаются только сущности описанные кодом, а результаты возвращенные конструкцией (Immediately-invoked Function Expression) отсутствуют. <br />По этой причине модули организованы как функции (области видимости функций работают корректно):<br />moduleN(){<br />	privateFunctionN()<br />	return {<br />		publicFunctionN()<br />	}<br />}<br />Т.е. доступ к функциям модуля осуществляется functionToUseInModuleLevel3 = moduleN().publicFunctionN<br />При этом возникают понятные неудобства.<br />Насколько я понимаю, .bind, .call и .apply в MS JScript отсутствуют. Или неясно как их применять.<br />Как еще можно решить задачу подключения областей видимости функций?</p>]]></content>
			<author>
				<name><![CDATA[expertykt]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39985</uri>
			</author>
			<updated>2021-07-29T07:27:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=149086#p149086</id>
		</entry>
</feed>
