Это вызвано, чтобы использовать в Описательном Программировании?

Это показывает, как require() работает в своей простейшей форме, выдержка из Eloquent JavaScript

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

Решение. Предоставьте модули с другой переменной module, которая является объектом, обладающим свойством exports. Это свойство первоначально указывает на пустой объект, созданный require, но может быть перезаписано другим значением, чтобы экспортировать что-то еще.

function require(name) {
  if (name in require.cache)
    return require.cache[name];
  var code = new Function("exports, module", readFile(name));
  var exports = {}, module = {exports: exports};
  code(exports, module);
  require.cache[name] = module.exports;
  return module.exports;
}
require.cache = Object.create(null);

0
задан Motti 16 January 2019 в 21:40
поделиться

1 ответ

Нет, вы используете хранилище объектов для описания объектов. Описательное программирование - это когда вы не используете хранилище объектов.

Например:

Browser("title:=.*").Page("title:=.*").Link("text:=משרות.*").Click

Или:

Set Desc = Description.Create()
Desc("text").Value = "משרות הייטק ושיווק ללא ניסיון"
Desc("text").RegularExpression = False
Browser("title:=.*").Page("title:=.*").Link(Desc).Click
0
ответ дан Motti 16 January 2019 в 21:40
поделиться
Другие вопросы по тегам:

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